(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!

Reply via email to