[PHP-CVS] cvs: php-src(PHP_5_3) / NEWS
sixdWed Mar 11 16:59:24 2009 UTC Modified files: (Branch: PHP_5_3) /php-srcNEWS Log: Add recent OCI8 fixes http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.965.2.507&r2=1.2027.2.547.2.965.2.508&diff_format=u Index: php-src/NEWS diff -u php-src/NEWS:1.2027.2.547.2.965.2.507 php-src/NEWS:1.2027.2.547.2.965.2.508 --- php-src/NEWS:1.2027.2.547.2.965.2.507 Sun Mar 8 17:28:38 2009 +++ php-src/NEWSWed Mar 11 16:59:23 2009 @@ -19,12 +19,15 @@ - Fixed bug #47329 (Crash in garbage collector). (Dmitry) - Fixed bug #47320 ($php_errormsg out of scope in functions). (Dmitry) - Fixed bug #47265 (generating phar.phar fails because of safe_mode). (Greg) +- Fixed bug #47243 (OCI8: Crash at shutdown on Windows) (Chris Jones/Oracle Corp.) - Fixed bug #47229 (preg_quote() should escape the '-' char). (Nuno) - Fixed bug #47085 (rename() returns true even if the file in PHAR does not exist). (Greg) - Fixed bug #47031 (Fix constants in DualIterator example). (Etienne) +- Fixed bug #46994 (OCI8: CLOB size does not update when using CLOB IN OUT param in stored procedure) (Chris Jones/Oracle Corp.) - Fixed bug #46897 (ob_flush() should fail to flush unerasable buffers). (David C.) +- Fixed bug #46623 (OCI8: phpinfo doesn't show compile time ORACLE_HOME with phpize) (Chris Jones/Oracle Corp.) - Fixed bug #46542 (Extending PDO class with a __call() function doesn't work as expected). (Johannes) - Fixed bug #46347 (parse_ini_file() doesn't support * in keys). (Nuno) @@ -33,6 +36,8 @@ - Fixed bug #45432 (PDO: persistent connection leak). (Felipe) - Fixed bug #43831 ($this gets mangled when extending PDO with persistent connection). (Felipe) +- Fixed PECL Bug #15988 (OCI8: sqlnet.ora isn't read with older Oracle libraries) (Chris Jones/Oracle Corp.) +- Fixed PECL Bug #16035 (OCI8: oci_connect without ORACLE_HOME defined causes segfault) (Chris Jones/Oracle Corp.) 29 Jan 2009, PHP 5.3.0 Beta 1 - Upgraded bundled sqlite to version 3.6.10. (Scott, Ilia) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-CVS] cvs: php-src(PHP_5_3) /ext/standard/tests/strings highlight_file.phpt ZendEngine2 zend_language_scanner.c zend_language_scanner.l zend_language_scanner_defs.h zend_stream.h
Hello shire, Wednesday, March 11, 2009, 11:55:00 PM, you wrote: > Marcus Boerger wrote: >> Hello Brian, >> >>thanks for looking into this. The patch looks pretty good for the most >> part. But you effectively create a BC issue here becuase you no longer >> allow \0 inside a php file or string. You might want to test whether >> a length check in your NULL rules fixes that. That check would either >> return the \0 if inside the code or return 0 if in the lookahead block. > Thanks Marcus, > Sorry I probably should have worked through that more. I'll try that > and see if I can work around this correctly this evening, perhaps another > possibility is that I could handle the null chars in places where they > are valid such as within strings. (Are there any other constructs that > could contain these that I might be missing?) I think it is only correct outside php scope and inside strings, and here- as well as now-docs. marcus -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/oci8/tests details.inc
sixdWed Mar 11 17:12:24 2009 UTC Modified files: /php-src/ext/oci8/tests details.inc Log: Revert local setting changes http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/tests/details.inc?r1=1.7&r2=1.8&diff_format=u Index: php-src/ext/oci8/tests/details.inc diff -u php-src/ext/oci8/tests/details.inc:1.7 php-src/ext/oci8/tests/details.inc:1.8 --- php-src/ext/oci8/tests/details.inc:1.7 Mon Mar 9 18:59:20 2009 +++ php-src/ext/oci8/tests/details.inc Wed Mar 11 17:12:24 2009 @@ -38,12 +38,6 @@ $test_drcp = FALSE; } -$user = "system"; -$password = "oracle"; -$dbase = "ca-tools1.us.oracle.com/orcl"; -$oracle_on_localhost = TRUE; -$test_drcp = FALSE; - /* * Common object names for scripts to use */ -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/oci8/tests details.inc
sixdWed Mar 11 17:11:32 2009 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/oci8/tests details.inc Log: Revert local setting changes http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/tests/details.inc?r1=1.1.2.3.2.4&r2=1.1.2.3.2.5&diff_format=u Index: php-src/ext/oci8/tests/details.inc diff -u php-src/ext/oci8/tests/details.inc:1.1.2.3.2.4 php-src/ext/oci8/tests/details.inc:1.1.2.3.2.5 --- php-src/ext/oci8/tests/details.inc:1.1.2.3.2.4 Mon Mar 9 19:01:16 2009 +++ php-src/ext/oci8/tests/details.inc Wed Mar 11 17:11:32 2009 @@ -34,8 +34,7 @@ $user = "system"; $password = "oracle"; $dbase = "localhost/XE"; - $dbase = "ca-tools1.us.oracle.com/XE"; - $oracle_on_localhost= FALSE; + $oracle_on_localhost= TRUE; $test_drcp = FALSE; } -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src(PHP_5_3) /ext/oci8 oci8_statement.c /ext/oci8/tests bug46994.phpt
sixdWed Mar 11 16:47:14 2009 UTC Added files: (Branch: PHP_5_3) /php-src/ext/oci8/tests bug46994.phpt Modified files: /php-src/ext/oci8 oci8_statement.c Log: MFH: Bug #46994 (CLOB size does not update when using CLOB IN OUT param in stored procedure) http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/oci8_statement.c?r1=1.7.2.14.2.28.2.12&r2=1.7.2.14.2.28.2.13&diff_format=u Index: php-src/ext/oci8/oci8_statement.c diff -u php-src/ext/oci8/oci8_statement.c:1.7.2.14.2.28.2.12 php-src/ext/oci8/oci8_statement.c:1.7.2.14.2.28.2.13 --- php-src/ext/oci8/oci8_statement.c:1.7.2.14.2.28.2.12Mon Mar 9 20:58:51 2009 +++ php-src/ext/oci8/oci8_statement.c Wed Mar 11 16:47:14 2009 @@ -25,7 +25,7 @@ +--+ */ -/* $Id: oci8_statement.c,v 1.7.2.14.2.28.2.12 2009/03/09 20:58:51 sixd Exp $ */ +/* $Id: oci8_statement.c,v 1.7.2.14.2.28.2.13 2009/03/11 16:47:14 sixd Exp $ */ #ifdef HAVE_CONFIG_H @@ -1159,9 +1159,24 @@ } retval = OCI_CONTINUE; } else if (Z_TYPE_P(val) == IS_OBJECT) { + zval **tmp; + php_oci_descriptor *desc; + if (!phpbind->descriptor) { return OCI_ERROR; } + + /* Do not use the cached lob size if the descriptor is an +* out-bind as the contents would have been changed for in/out +* binds (Bug #46994). +*/ + if (zend_hash_find(Z_OBJPROP_P(val), "descriptor", sizeof("descriptor"), (void **)&tmp) == FAILURE) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to find object outbind descriptor property"); + return OCI_ERROR; + } + PHP_OCI_ZVAL_TO_DESCRIPTOR_EX(*tmp, desc); + desc->lob_size = -1;/* force OCI8 to update cached size */ + *alenpp = &phpbind->dummy_len; *bufpp = phpbind->descriptor; *piecep = OCI_ONE_PIECE; http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/tests/bug46994.phpt?view=markup&rev=1.1 Index: php-src/ext/oci8/tests/bug46994.phpt +++ php-src/ext/oci8/tests/bug46994.phpt --TEST-- Bug #46994 (CLOB size does not update when using CLOB IN OUT param in stored procedure) --SKIPIF-- --FILE-- writeTemporary("some data", OCI_TEMP_CLOB); echo "Test 1\n"; $s = oci_parse($c, "begin bug46994_proc1(:myclob); end;"); oci_bind_by_name($s, ":myclob", $myclob, -1, SQLT_CLOB); oci_execute($s, OCI_DEFAULT); var_dump($myclob->load()); echo "Test 2\n"; $s = oci_parse($c, "begin bug46994_proc2(:myclob); end;"); oci_bind_by_name($s, ":myclob", $myclob, -1, SQLT_CLOB); oci_execute($s, OCI_DEFAULT); var_dump($myclob->load()); echo "Test 3\n"; $s = oci_parse($c, "begin bug46994_proc1(:myclob); end;"); oci_bind_by_name($s, ":myclob", $myclob, -1, SQLT_CLOB); oci_execute($s, OCI_DEFAULT); var_dump($myclob->load()); echo "Test 4\n"; var_dump($myclob->load()); // Use cached size code path // Cleanup $stmtarray = array( "drop procedure bug46994_proc1", "drop procedure bug46994_proc2" ); foreach ($stmtarray as $stmt) { $s = oci_parse($c, $stmt); oci_execute($s); } oci_close($c); ?> ===DONE=== --EXPECTF-- Test 1 unicode(26) "This should be the output." Test 2 unicode(37) "The output should be even longer now." Test 3 unicode(26) "This should be the output." Test 4 unicode(26) "This should be the output." ===DONE=== -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] cvs: php-src /ext/oci8 oci8_statement.c /ext/oci8/tests bug46994.phpt
sixdWed Mar 11 16:46:38 2009 UTC Added files: /php-src/ext/oci8/tests bug46994.phpt Modified files: /php-src/ext/oci8 oci8_statement.c Log: Bug #46994 (CLOB size does not update when using CLOB IN OUT param in stored procedure) http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/oci8_statement.c?r1=1.61&r2=1.62&diff_format=u Index: php-src/ext/oci8/oci8_statement.c diff -u php-src/ext/oci8/oci8_statement.c:1.61 php-src/ext/oci8/oci8_statement.c:1.62 --- php-src/ext/oci8/oci8_statement.c:1.61 Mon Mar 9 20:58:13 2009 +++ php-src/ext/oci8/oci8_statement.c Wed Mar 11 16:46:37 2009 @@ -25,7 +25,7 @@ +--+ */ -/* $Id: oci8_statement.c,v 1.61 2009/03/09 20:58:13 sixd Exp $ */ +/* $Id: oci8_statement.c,v 1.62 2009/03/11 16:46:37 sixd Exp $ */ #ifdef HAVE_CONFIG_H @@ -1211,9 +1211,24 @@ } retval = OCI_CONTINUE; } else if (Z_TYPE_P(val) == IS_OBJECT) { + zval **tmp; + php_oci_descriptor *desc; + if (!phpbind->descriptor) { return OCI_ERROR; } + + /* Do not use the cached lob size if the descriptor is an +* out-bind as the contents would have been changed for in/out +* binds (Bug #46994). +*/ + if (zend_hash_find(Z_OBJPROP_P(val), "descriptor", sizeof("descriptor"), (void **)&tmp) == FAILURE) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to find object outbind descriptor property"); + return OCI_ERROR; + } + PHP_OCI_ZVAL_TO_DESCRIPTOR_EX(*tmp, desc); + desc->lob_size = -1;/* force OCI8 to update cached size */ + *alenpp = &phpbind->dummy_len; *bufpp = phpbind->descriptor; *piecep = OCI_ONE_PIECE; http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/tests/bug46994.phpt?view=markup&rev=1.1 Index: php-src/ext/oci8/tests/bug46994.phpt +++ php-src/ext/oci8/tests/bug46994.phpt --TEST-- Bug #46994 (CLOB size does not update when using CLOB IN OUT param in stored procedure) --SKIPIF-- --FILE-- writeTemporary("some data", OCI_TEMP_CLOB); echo "Test 1\n"; $s = oci_parse($c, "begin bug46994_proc1(:myclob); end;"); oci_bind_by_name($s, ":myclob", $myclob, -1, SQLT_CLOB); oci_execute($s, OCI_DEFAULT); var_dump($myclob->load()); echo "Test 2\n"; $s = oci_parse($c, "begin bug46994_proc2(:myclob); end;"); oci_bind_by_name($s, ":myclob", $myclob, -1, SQLT_CLOB); oci_execute($s, OCI_DEFAULT); var_dump($myclob->load()); echo "Test 3\n"; $s = oci_parse($c, "begin bug46994_proc1(:myclob); end;"); oci_bind_by_name($s, ":myclob", $myclob, -1, SQLT_CLOB); oci_execute($s, OCI_DEFAULT); var_dump($myclob->load()); echo "Test 4\n"; var_dump($myclob->load()); // Use cached size code path // Cleanup $stmtarray = array( "drop procedure bug46994_proc1", "drop procedure bug46994_proc2" ); foreach ($stmtarray as $stmt) { $s = oci_parse($c, $stmt); oci_execute($s); } oci_close($c); ?> ===DONE=== --EXPECTF-- Test 1 unicode(26) "This should be the output." Test 2 unicode(37) "The output should be even longer now." Test 3 unicode(26) "This should be the output." Test 4 unicode(26) "This should be the output." ===DONE=== -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php