#37139 [Opn->Fbk]: OCIExecute() hangs on DATE column related INSERT's
| From: | tony2001@php.net | Date: | Wed, 19 Apr 2006 21:34:08 +0000 |
| Subject: | #37139 [Opn->Fbk]: OCIExecute() hangs on DATE column related INSERT's | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-96014@lists.php.net to get a copy of this message | ||
ID: 37139
Updated by: tony2001@php.net
Reported By: aphexddb at gmail dot com
-Status: Open
+Status: Feedback
Bug Type: OCI8 related
Operating System: Windows XP SP2
PHP Version: 5.1.3RC2
New Comment:
Can't reproduce in any combination I can try here:
native client + Oracle 9, OIC + Oracle 9, OIC + Oracle 10.
Snapshots and the debugpack are located here temporarily:
http://php.emini.dk/snaps/win32/
Please try the latest snapshot and provide the backtrace if you're
still able to reproduce it.
Previous Comments:
------------------------------------------------------------------------
[2006-04-19 21:10:30] aphexddb at gmail dot com
Description:
------------
When executing a succesfully prepared INSERT statement that contains a
DATE column, OCIExecute hangs indefinitely when data is supplied for
that column.
I tested the SQL statement(s) in question by pasting them into both
TOAD and SQLPlus. They all completed successfully. The '$workingSQL'
statement executes correctly from PHP. The other '$breaksPhp'
statements will hang right as OCIExecute() is called.
PHP Version used: Apache/2.0.54 (Win32) PHP/5.1.3-dev. Also tried PHP
versions : 5.0.3 and 5.1.2 for grins. http://snaps.php.net seems
to be
down at the time of this posting, unable to run the debug pack.
Diffrences in PHP.INI from the .dist file:
error_reporting = E_ALL
extension=php_gd2.dll
extension=php_ldap.dll
extension=php_mysql.dll
extension=php_oci8.dll
extension=php_oracle.dll
extension=php_sockets.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll
extension=php_soap.dll
extension=adodb.dll
SMTP = mail.mydomain.com
Reproduce code:
---------------
$sql = "INSERT blah, blah ...see below"
$stmt = OCIParse($this->_connectionID, $workingSQL);
$rs = OCIExecute($stmt);
<...browser/php hangs here...>
The table in question:
CREATE TABLE PROVIDER (
PROVIDER_ID NUMBER NOT NULL,
SITE_NAME VARCHAR2 (50),
FIRST_NAME VARCHAR2 (20),
LAST_MOD_USER VARCHAR2 (20),
LAST_MOD_DATE DATE NOT NULL,
CONSTRAINT PROVIDER_PK
PRIMARY KEY ( PROVIDER_ID ) ) ;
Example SQL statements:
$workingSQL = "INSERT INTO PROVIDER ( PROVIDER_ID, SITE_NAME,
FIRST_NAME, LAST_MOD_USER ) VALUES ( '351', 'Site Name', 'John',
'jsmith') ";
$breaksPhpSQL = "INSERT INTO PROVIDER ( PROVIDER_ID, SITE_NAME,
FIRST_NAME, LAST_MOD_USER, LAST_MOD_DATE ) VALUES ( '351', 'Site Name',
'John', 'jsmith', '2006-04-19' ) ";
$breaksPhpSQL2 = "INSERT INTO PROVIDER ( PROVIDER_ID, SITE_NAME,
FIRST_NAME, LAST_MOD_USER, LAST_MOD_DATE ) VALUES ( '351', 'Site Name',
'John', 'jsmith', TO_DATE('2006-04-19','RR-MM-DD') ) ";
Expected result:
----------------
OCIExecute() should complete without hanging and return a result.
Actual result:
--------------
PHP hangs indefinitely for whatever page you were looking at. In other
browser windows while the main one is hung, PHP will still render
other, simpler pages but anything using OCI is unavailable.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=37139&edit=1