#36403 [Opn->Csd]: oci_execute() no longer supports OCI_DESCRIBE_ONLY
| From: | tony2001@php.net | Date: | Wed, 15 Feb 2006 20:49:53 +0000 |
| Subject: | #36403 [Opn->Csd]: oci_execute() no longer supports OCI_DESCRIBE_ONLY | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-93302@lists.php.net to get a copy of this message | ||
ID: 36403
Updated by: tony2001@php.net
Reported By: johnw at sussex dot ac dot uk
-Status: Open
+Status: Closed
Bug Type: OCI8 related
Operating System: solaris 9
PHP Version: 5.1.2
New Comment:
This bug has been fixed in CVS.
Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
Thank you for the report, and for helping us make PHP better.
Previous Comments:
------------------------------------------------------------------------
[2006-02-15 19:01:26] johnw at sussex dot ac dot uk
Description:
------------
Supplying the constant OCI_DESCRIBE_ONLY as the second
argument (mode) to oci_execute() results in a warning,
and oci_execute() returning false.
Reproduce code:
---------------
The bug is caused by these lines of code in
php-5.1.2/ext/oci8/oci_statement.c
at line 1351 in the definition of
php_oci_statement_execute():
switch (mode) {
case OCI_COMMIT_ON_SUCCESS:
case OCI_DEFAULT:
/* only these two are allowed */
break;
default:
php_error_docref(NULL TSRMLS_CC, E_WARNING,
"Invalid execute mode given: %d", mode);
return 1;
break;
}
Expected result:
----------------
I would expect oci_execute() to pass the mode
OCI_DESCRIBE_ONLY on to the underlying OCI8 call.
I think it is very bad that this non- backward-
compatible change has been made without being documented
or announced anywhere. I am responsible for an
application that is used by several thousands of users
daily that relies on OCI_DESCRIBE_ONLY working.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=36403&edit=1