Edit report at https://bugs.php.net/bug.php?id=58319&edit=1
ID: 58319
Comment by: r dot ejem at seznam dot cz
Reported by: kevinpgrant at yahoo dot co dot uk
Summary: OCI-LOB invalid character in Class name
Status: Open
Type: Bug
Package: OCI8 related
Operating System: linux
PHP Version: 5.2.5
Block user comment: N
Private report: N
New Comment:
I don't see type-checking pointless especially in PHP which has poor to no
compile-time type-checking.
I think this bug should be fixed in future version. Invalid class name of a
built-in class is, I think, a terrible mistake, which has to be definitely
fixed.
Previous Comments:
------------------------------------------------------------------------
[2008-08-19 06:40:59] tony at daylessday dot org
// check $clob is of type 'OCI-Lob' here
It's pointless to check it because oci_new_descriptor() can return only two
things - NULL and OCI-Lob class instance.
------------------------------------------------------------------------
[2008-08-19 06:37:50] kevinpgrant at yahoo dot co dot uk
Description:
------------
checking if an IN OUT CLOB input parameter returned from Oracle is an
instanceof OCI-Lob fails, because of the invalid hyphen character in the
class/object name!
We have to use workarounds involving get_class($mylob) == 'OCI-Lob' instead, or
use the deprecated 'is_a' check.
Reproduce code:
---------------
$sql = "insert into table (field1, field2) values (field1 = 'value',
field2 = empty_clob()) returning field2 into :field2";
OCIParse($conn, $sql);
$clob = OCINewDescriptor($conn, OCI_D_LOB);
// check $clob is of type 'OCI-Lob' here
OCIBindByName($stmt, ":field2", &$clob, -1, OCI_B_CLOB);
OCIExecute($stmt, OCI_DEFAULT);
$clob->save("some text");
OCICommit($conn);
Expected result:
----------------
should return true/false when testing fo instanceof OCI-Lob (suggest using
OCI_Lob instead ...?)
Actual result:
--------------
php barfs due to '-' character
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=58319&edit=1