Edit report at https://bugs.php.net/bug.php?id=49803&edit=1
ID: 49803 Comment by: stronk7 at moodle dot org Reported by: stronk7 at moodle dot org Summary: OCI statement cache causes ORA-01007 Status: Suspended Type: Bug Package: OCI8 related Operating System: MacOS X (any) PHP Version: 5.2.11 Block user comment: N Private report: N New Comment: Just to add that exactly the same problem continues happening both under latest php 5.3.x and 5.4.x, with he module compiled with the new x64 11.2.0.3.0 version for mac (previously using x32 10.2.0.4.0 with php 5.2). Previous Comments: ------------------------------------------------------------------------ [2011-11-09 22:28:28] s...@php.net I've logged an Oracle enhancement (#13366134) so this request can be better tracked by Oracle's normal enhancement process. ------------------------------------------------------------------------ [2010-01-06 19:42:18] s...@php.net Doh. I've got it. ------------------------------------------------------------------------ [2010-01-06 19:40:49] s...@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