Re: DBD::Oracle -- NULL LOB Locator is not "null"



On Thu, 24 May 2007 14:08:01 -0400, Sven Miller wrote:

(DBD::Oracle version 1.17)
Given the following:

my $sLobLocator;
my $hSQL = $hDB->prepare(q{
BEGIN
:lob := NULL;
END;
}, { ora_auto_lob => 0 });

$hSQL->bind_param_inout( ':lob', \$sLobLocator, 0, { ora_type =>
ORA_BLOB } ); $hSQL->execute;
print "\$sLobLocator = $sLobLocator\n"; print "\$\$sLobLocator =
$$sLobLocator\n";

The output is:

$sLobLocator = OCILobLocatorPtr=SCALAR(0x1632d10) $$sLobLocator =
25412916

I expected for $sLobLocator to be undefined or empty, or at least for
$$sLobLocator to be 0. Is this a bug, or is this by design? If this is
by design, is there a proper way to determine whether a LOB Locator
contains NULL?

Thanks for any insight!


LOB locator is never empty. If you want to check for emptiness,
you should check by using DBMS_LOB.GETLENGTH.

--
http://www.mladen-gogala.com
.