Edit report at https://bugs.php.net/bug.php?id=49803&edit=1
ID: 49803
Updated by: sixd@php.net
Reported by: stronk7 at moodle dot org
Summary: OCI statement cache causes ORA-01007
-Status: Assigned
+Status: Suspended
Type: Bug
Package: OCI8 related
Operating System: MacOS X (any)
PHP Version: 5.2.11
Assigned To: sixd
Block user comment: N
Private report: N
New Comment:
I've logged an Oracle enhancement (#13366134) so this request can be better
tracked by Oracle's normal enhancement process.
Previous Comments:
------------------------------------------------------------------------
[2010-01-06 19:42:18] sixd@php.net
Doh. I've got it.
------------------------------------------------------------------------
[2010-01-06 19:40:49] sixd@php.net
What's the testcase?
------------------------------------------------------------------------
[2009-10-07 16:29:46] stronk7 at moodle dot org
Description:
------------
Under certain circumstances (multiple DDL creation) OCI client statement
cache causes ORA-01007: variable not in select list error in simple
queries against those tables. Only disabling the cache (
oci8.statement_cache_size = 0 in php.ini, from default 20) alleviates
the problem. Running with cache disabled has a big impact in oci
performance.
It should be some explicit way to clean the cache from php oci or the
driver itself should be "clever enough" to clean it when DDL statements
are executed.
Reproduce code:
---------------
http://tracker.moodle.org/secure/attachment/18556/testing_oci_stmt_cache_pureoci.php
Expected result:
----------------
TESTING MOODLE 2.0 OCI DRIVER WITH oci8.statement_cache_size = 0 (from
php.ini)
Created table unit_table (id, course, name). Ok
Selected 0 records from table. Ok
Dropped table unit_table (id, course, name). Ok
Created table unit_table (id, course). Ok
Selected 0 records from table. Ok
Dropped table unit_table (id, course). Ok
Actual result:
--------------
TESTING MOODLE 2.0 OCI DRIVER WITH oci8.statement_cache_size = 20 (from
php.ini)
Created table unit_table (id, course, name). Ok
Selected 0 records from table. Ok
Dropped table unit_table (id, course, name). Ok
Created table unit_table (id, course). Ok
Error selecting records from table!!
ORA-01007: variable not in select list
Dropped table unit_table (id, course). Ok
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=49803&edit=1