Can you, or someone, send me a test case that (ideally) doesn't
include a function call to your own code but just uses PL/SQL LOB
functions?

If I get that soon I'll try to fix it for the 1.15 release or
at least the 1.16 release.

Tim.

On Fri, May 02, 2003 at 10:03:23AM +0100, Chris Underhill wrote:
> Hi,
> 
> I have a function that returns a clob, the size of which depends on its
> input parameters. I'm using code like:
> 
> my $dbh=DBI->connect('dbi:Oracle:server',$user,$pass,{...})
> $dbh->{LongReadLen}=1048576;
> $dbh->{LongTruncOk}=1;
> my $res;
> my $sth=$dbh->prepare('BEGIN :res:=fn_foo(args...); END;');
> $sth->bind_param_in_out(':res',\$res,1048576,{ora_type => ORA_CLOB});
> $sth->execute;
> 
> Unfortunately this results in a segfault, seemingly whatever I use for
> the maxlen parameter of bind_param_inout, when the statement is
> executed. If I miss out the maxlen parameter, then it works fine unless
> the clob returned is >32k in size. In this case I get an ORA-6502 error.
> 
> I have a workaround - executing select fn_foo(args...) from dual works
> fine in all cases, but is obviously uglier, and won't work if there is
> any dml in fn_foo. Any clues?
> 
> This is with DBI-1.35 DBD-Oracle-1.14 on a Mandrake 9.1 box. It also
> occurs on a Red Hat 7.3 box with DBI-1.19 + DBD-Oracle-1.14. Oracle
> client stuff is 9.0.1, or 9.2 connecting to a Linux 9.2 server. 
> 
> TIA.
> 
> 
> Chris.
> 

Reply via email to