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