cvs: php-src /ext/oci8/tests connect_scope1.phpt connect_scope2.phpt connect_scope_try1.phpt connect_scope_try2.phpt connect_scope_try3.phpt
connect_scope_try4.phpt connect_scope_try5.phpt connect_scope_try6.phpt drcp_scope4.phpt minfo.phpt

From: Date: Tue, 13 May 2008 00:04:52 +0000
Subject: cvs: php-src /ext/oci8/tests connect_scope1.phpt connect_scope2.phpt connect_scope_try1.phpt connect_scope_try2.phpt connect_scope_try3.phpt
connect_scope_try4.phpt connect_scope_try5.phpt connect_scope_try6.phpt drcp_scope4.phpt minfo.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-49940@lists.php.net to get a copy of this message
sixd Tue May 13 00:04:52 2008 UTC Added files: /php-src/ext/oci8/tests minfo.phpt Modified files: /php-src/ext/oci8/tests connect_scope1.phpt connect_scope2.phpt connect_scope_try1.phpt connect_scope_try2.phpt connect_scope_try3.phpt connect_scope_try4.phpt connect_scope_try5.phpt connect_scope_try6.phpt drcp_scope4.phpt Log: New/updated tests

http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/tests/connect_scope1.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/oci8/tests/connect_scope1.phpt diff -u /dev/null php-src/ext/oci8/tests/connect_scope1.phpt:1.2 --- /dev/null Tue May 13 00:04:52 2008 +++ php-src/ext/oci8/tests/connect_scope1.phpt Tue May 13 00:04:52 2008 @@ -0,0 +1,110 @@ +--TEST-- +Test oci_connect end-of-scope when statement returned +--SKIPIF-- +<?php if (!extension_loaded('oci8')) die ("skip no oci8 extension"); ?> +--FILE-- +<?php + +require(dirname(__FILE__).'/details.inc'); + +// Initialization + +$stmtarray = array( + "drop table connect_scope1_tab", + "create table connect_scope1_tab (c1 number)", +); + +if (!empty($dbase)) + $c1 = oci_new_connect($user,$password,$dbase); +else + $c1 = oci_new_connect($user,$password); + +foreach ($stmtarray as $stmt) { + $s1 = oci_parse($c1, $stmt); + @oci_execute($s1); +} + +// Run Test + +echo "Test 1 - oci_connect\n"; + +function f() +{ + global $user, $password, $dbase; + + if (!empty($dbase)) + $c = oci_connect($user,$password,$dbase); + else + $c = oci_connect($user,$password); + $s = oci_parse($c, "insert into connect_scope1_tab values (1)"); + oci_execute($s, OCI_DEFAULT); // no commit + return($s); // this keeps the connection refcount positive so the connection isn't closed +} + +$s2 = f(); + +// Check nothing committed yet + +$s1 = oci_parse($c1, "select * from connect_scope1_tab"); +oci_execute($s1, OCI_DEFAULT); +oci_fetch_all($s1, $r); +var_dump($r); + +// insert 2nd row on returned statement, committing both rows +oci_execute($s2); + +// Verify data was committed + +$s1 = oci_parse($c1, "select * from connect_scope1_tab"); +oci_execute($s1); +oci_fetch_all($s1, $r); +var_dump($r); + +// Cleanup + +$stmtarray = array( + "drop table connect_scope1_tab" +); + +foreach ($stmtarray as $stmt) { + $s1 = oci_parse($c1, $stmt); + oci_execute($s1); +} + +echo "Done\n"; + +?> +--EXPECTF-- +Test 1 - oci_connect +array(1) { + ["C1"]=> + array(0) { + } +} +array(1) { + ["C1"]=> + array(2) { + [0]=> + string(1) "1" + [1]=> + string(1) "1" + } +} +Done +--UEXPECTF-- +Test 1 - oci_connect +array(1) { + [u"C1"]=> + array(0) { + } +} +array(1) { + [u"C1"]=> + array(2) { + [0]=> + unicode(1) "1" + [1]=> + unicode(1) "1" + } +} +Done http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/tests/connect_scope2.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/oci8/tests/connect_scope2.phpt diff -u /dev/null php-src/ext/oci8/tests/connect_scope2.phpt:1.2 --- /dev/null Tue May 13 00:04:52 2008 +++ php-src/ext/oci8/tests/connect_scope2.phpt Tue May 13 00:04:52 2008 @@ -0,0 +1,110 @@ +--TEST-- +Test oci_pconnect end-of-scope when statement returned +--SKIPIF-- +<?php if (!extension_loaded('oci8')) die ("skip no oci8 extension"); ?> +--FILE-- +<?php + +require(dirname(__FILE__).'/details.inc'); + +// Initialization + +$stmtarray = array( + "drop table connect_scope2_tab", + "create table connect_scope2_tab (c1 number)", +); + +if (!empty($dbase)) + $c1 = oci_new_connect($user,$password,$dbase); +else + $c1 = oci_new_connect($user,$password); + +foreach ($stmtarray as $stmt) { + $s1 = oci_parse($c1, $stmt); + @oci_execute($s1); +} + +// Run Test + +echo "Test 1 - oci_pconnect\n"; + +function f() +{ + global $user, $password, $dbase; + + if (!empty($dbase)) + $c = oci_pconnect($user,$password,$dbase); + else + $c = oci_pconnect($user,$password); + $s = oci_parse($c, "insert into connect_scope2_tab values (1)"); + oci_execute($s, OCI_DEFAULT); // no commit + return($s); // this keeps the connection refcount positive so the connection isn't closed +} + +$s2 = f(); + +// Check nothing committed yet + +$s1 = oci_parse($c1, "select * from connect_scope2_tab"); +oci_execute($s1, OCI_DEFAULT); +oci_fetch_all($s1, $r); +var_dump($r); + +// insert 2nd row on returned statement, committing both rows +oci_execute($s2); + +// Verify data was committed + +$s1 = oci_parse($c1, "select * from connect_scope2_tab"); +oci_execute($s1); +oci_fetch_all($s1, $r); +var_dump($r); + +// Cleanup + +$stmtarray = array( + "drop table connect_scope2_tab" +); + +foreach ($stmtarray as $stmt) { + $s1 = oci_parse($c1, $stmt); + oci_execute($s1); +} + +echo "Done\n"; + +?> +--EXPECTF-- +Test 1 - oci_pconnect +array(1) { + ["C1"]=> + array(0) { + } +} +array(1) { + ["C1"]=> + array(2) { + [0]=> + string(1) "1" + [1]=> + string(1) "1" + } +} +Done +--UEXPECTF-- +Test 1 - oci_pconnect +array(1) { + [u"C1"]=> + array(0) { + } +} +array(1) { + [u"C1"]=> + array(2) { + [0]=> + unicode(1) "1" + [1]=> + unicode(1) "1" + } +} +Done http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/tests/connect_scope_try1.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/oci8/tests/connect_scope_try1.phpt diff -u /dev/null php-src/ext/oci8/tests/connect_scope_try1.phpt:1.2 --- /dev/null Tue May 13 00:04:52 2008 +++ php-src/ext/oci8/tests/connect_scope_try1.phpt Tue May 13 00:04:52 2008 @@ -0,0 +1,117 @@ +--TEST-- +Check oci_connect try/catch end-of-scope with old_oci_close_semantics Off +--SKIPIF-- +<?php if (!extension_loaded('oci8')) die ("skip no oci8 extension"); ?> +--INI-- +oci8.old_oci_close_semantics=0 +--FILE-- +<?php + +require(dirname(__FILE__).'/details.inc'); + +// Initialization + +$stmtarray = array( + "drop table scope_try1_tab", + "create table scope_try1_tab (c1 number)" +); + +if (!empty($dbase)) + $c1 = oci_new_connect($user,$password,$dbase); +else + $c1 = oci_new_connect($user,$password); + +foreach ($stmtarray as $stmt) { + $s1 = oci_parse($c1, $stmt); + @oci_execute($s1); +} + +// Run Test + +echo "Test 1\n"; + +// Make errors throw exceptions + +set_error_handler(create_function('$x, $y', 'throw new Exception($y, $x);')); + +try +{ + if (!empty($dbase)) + $c = oci_connect($user,$password,$dbase); + else + $c = oci_connect($user,$password); + $s = oci_parse($c, "insert into scope_try1_tab values (1)"); + oci_execute($s, OCI_DEFAULT); // no commit + $s = oci_parse($c, "insert into scope_try1_tab values (ABC)"); // syntax error -> throws exception + oci_execute($s, OCI_DEFAULT); // no commit +} +catch (Exception $e) +{ + echo "Caught Exception: ". $e->getMessage(), "\n"; + var_dump($c); + + // Verify data is not yet committed + $s1 = oci_parse($c1, "select * from scope_try1_tab"); + oci_execute($s1); + oci_fetch_all($s1, $r); + var_dump($r); + + // Now commit + oci_commit($c); +} + +// Verify data was committed in the Catch block + +$s1 = oci_parse($c1, "select * from scope_try1_tab"); +oci_execute($s1); +oci_fetch_all($s1, $r); +var_dump($r); + +// Cleanup + +$stmtarray = array( + "drop table scope_try1_tab" +); + +foreach ($stmtarray as $stmt) { + $s1 = oci_parse($c1, $stmt); + oci_execute($s1); +} + +echo "Done\n"; + +?> +--EXPECTF-- +Test 1 +Caught Exception: oci_execute(): ORA-00984: %s +resource(%d) of type (oci8 connection) +array(1) { + ["C1"]=> + array(0) { + } +} +array(1) { + ["C1"]=> + array(1) { + [0]=> + string(1) "1" + } +} +Done +--UEXPECTF-- +Test 1 +Caught Exception: oci_execute(): ORA-00984: %s +resource(%d) of type (oci8 connection) +array(1) { + [u"C1"]=> + array(0) { + } +} +array(1) { + [u"C1"]=> + array(1) { + [0]=> + unicode(1) "1" + } +} +Done http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/tests/connect_scope_try2.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/oci8/tests/connect_scope_try2.phpt diff -u /dev/null php-src/ext/oci8/tests/connect_scope_try2.phpt:1.2 --- /dev/null Tue May 13 00:04:52 2008 +++ php-src/ext/oci8/tests/connect_scope_try2.phpt Tue May 13 00:04:52 2008 @@ -0,0 +1,117 @@ +--TEST-- +Check oci_connect try/catch end-of-scope with old_oci_close_semantics On +--SKIPIF-- +<?php if (!extension_loaded('oci8')) die ("skip no oci8 extension"); ?> +--INI-- +oci8.old_oci_close_semantics=1 +--FILE-- +<?php + +require(dirname(__FILE__).'/details.inc'); + +// Initialization + +$stmtarray = array( + "drop table scope_try2_tab", + "create table scope_try2_tab (c1 number)" +); + +if (!empty($dbase)) + $c1 = oci_new_connect($user,$password,$dbase); +else + $c1 = oci_new_connect($user,$password); + +foreach ($stmtarray as $stmt) { + $s1 = oci_parse($c1, $stmt); + @oci_execute($s1); +} + +// Run Test + +echo "Test 1\n"; + +// Make errors throw exceptions + +set_error_handler(create_function('$x, $y', 'throw new Exception($y, $x);')); + +try +{ + if (!empty($dbase)) + $c = oci_connect($user,$password,$dbase); + else + $c = oci_connect($user,$password); + $s = oci_parse($c, "insert into scope_try2_tab values (1)"); + oci_execute($s, OCI_DEFAULT); // no commit + $s = oci_parse($c, "insert into scope_try2_tab values (ABC)"); // syntax error -> throws exception + oci_execute($s, OCI_DEFAULT); // no commit +} +catch (Exception $e) +{ + echo "Caught Exception: ". $e->getMessage(), "\n"; + var_dump($c); + + // Verify data is not yet committed + $s1 = oci_parse($c1, "select * from scope_try2_tab"); + oci_execute($s1); + oci_fetch_all($s1, $r); + var_dump($r); + + // Now commit + oci_commit($c); +} + +// Verify data was committed in the Catch block + +$s1 = oci_parse($c1, "select * from scope_try2_tab"); +oci_execute($s1); +oci_fetch_all($s1, $r); +var_dump($r); + +// Cleanup + +$stmtarray = array( + "drop table scope_try2_tab" +); + +foreach ($stmtarray as $stmt) { + $s1 = oci_parse($c1, $stmt); + oci_execute($s1); +} + +echo "Done\n"; + +?> +--EXPECTF-- +Test 1 +Caught Exception: oci_execute(): ORA-00984: %s +resource(%d) of type (oci8 connection) +array(1) { + ["C1"]=> + array(0) { + } +} +array(1) { + ["C1"]=> + array(1) { + [0]=> + string(1) "1" + } +} +Done +--UEXPECTF-- +Test 1 +Caught Exception: oci_execute(): ORA-00984: %s +resource(%d) of type (oci8 connection) +array(1) { + [u"C1"]=> + array(0) { + } +} +array(1) { + [u"C1"]=> + array(1) { + [0]=> + unicode(1) "1" + } +} +Done http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/tests/connect_scope_try3.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/oci8/tests/connect_scope_try3.phpt diff -u /dev/null php-src/ext/oci8/tests/connect_scope_try3.phpt:1.2 --- /dev/null Tue May 13 00:04:52 2008 +++ php-src/ext/oci8/tests/connect_scope_try3.phpt Tue May 13 00:04:52 2008 @@ -0,0 +1,117 @@ +--TEST-- +Check oci_new_connect try/catch end-of-scope with old_oci_close_semantics Off +--SKIPIF-- +<?php if (!extension_loaded('oci8')) die ("skip no oci8 extension"); ?> +--INI-- +oci8.old_oci_close_semantics=0 +--FILE-- +<?php + +require(dirname(__FILE__).'/details.inc'); + +// Initialization + +$stmtarray = array( + "drop table scope_try3_tab", + "create table scope_try3_tab (c1 number)" +); + +if (!empty($dbase)) + $c1 = oci_new_connect($user,$password,$dbase); +else + $c1 = oci_new_connect($user,$password); + +foreach ($stmtarray as $stmt) { + $s1 = oci_parse($c1, $stmt); + @oci_execute($s1); +} + +// Run Test + +echo "Test 1\n"; + +// Make errors throw exceptions + +set_error_handler(create_function('$x, $y', 'throw new Exception($y, $x);')); + +try +{ + if (!empty($dbase)) + $c = oci_new_connect($user,$password,$dbase); + else + $c = oci_new_connect($user,$password); + $s = oci_parse($c, "insert into scope_try3_tab values (1)"); + oci_execute($s, OCI_DEFAULT); // no commit + $s = oci_parse($c, "insert into scope_try3_tab values (ABC)"); // syntax error -> throws exception + oci_execute($s, OCI_DEFAULT); // no commit +} +catch (Exception $e) +{ + echo "Caught Exception: ". $e->getMessage(), "\n"; + var_dump($c); + + // Verify data is not yet committed + $s1 = oci_parse($c1, "select * from scope_try3_tab"); + oci_execute($s1); + oci_fetch_all($s1, $r); + var_dump($r); + + // Now commit + oci_commit($c); +} + +// Verify data was committed in the Catch block + +$s1 = oci_parse($c1, "select * from scope_try3_tab"); +oci_execute($s1); +oci_fetch_all($s1, $r); +var_dump($r); + +// Cleanup + +$stmtarray = array( + "drop table scope_try3_tab" +); + +foreach ($stmtarray as $stmt) { + $s1 = oci_parse($c1, $stmt); + oci_execute($s1); +} + +echo "Done\n"; + +?> +--EXPECTF-- +Test 1 +Caught Exception: oci_execute(): ORA-00984: %s +resource(%d) of type (oci8 connection) +array(1) { + ["C1"]=> + array(0) { + } +} +array(1) { + ["C1"]=> + array(1) { + [0]=> + string(1) "1" + } +} +Done +--UEXPECTF-- +Test 1 +Caught Exception: oci_execute(): ORA-00984: %s +resource(%d) of type (oci8 connection) +array(1) { + [u"C1"]=> + array(0) { + } +} +array(1) { + [u"C1"]=> + array(1) { + [0]=> + unicode(1) "1" + } +} +Done http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/tests/connect_scope_try4.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/oci8/tests/connect_scope_try4.phpt diff -u /dev/null php-src/ext/oci8/tests/connect_scope_try4.phpt:1.2 --- /dev/null Tue May 13 00:04:52 2008 +++ php-src/ext/oci8/tests/connect_scope_try4.phpt Tue May 13 00:04:52 2008 @@ -0,0 +1,117 @@ +--TEST-- +Check oci_new_connect try/catch end-of-scope with old_oci_close_semantics On +--SKIPIF-- +<?php if (!extension_loaded('oci8')) die ("skip no oci8 extension"); ?> +--INI-- +oci8.old_oci_close_semantics=1 +--FILE-- +<?php + +require(dirname(__FILE__).'/details.inc'); + +// Initialization + +$stmtarray = array( + "drop table scope_try4_tab", + "create table scope_try4_tab (c1 number)" +); + +if (!empty($dbase)) + $c1 = oci_new_connect($user,$password,$dbase); +else + $c1 = oci_new_connect($user,$password); + +foreach ($stmtarray as $stmt) { + $s1 = oci_parse($c1, $stmt); + @oci_execute($s1); +} + +// Run Test + +echo "Test 1\n"; + +// Make errors throw exceptions + +set_error_handler(create_function('$x, $y', 'throw new Exception($y, $x);')); + +try +{ + if (!empty($dbase)) + $c = oci_new_connect($user,$password,$dbase); + else + $c = oci_new_connect($user,$password); + $s = oci_parse($c, "insert into scope_try4_tab values (1)"); + oci_execute($s, OCI_DEFAULT); // no commit + $s = oci_parse($c, "insert into scope_try4_tab values (ABC)"); // syntax error -> throws exception + oci_execute($s, OCI_DEFAULT); // no commit +} +catch (Exception $e) +{ + echo "Caught Exception: ". $e->getMessage(), "\n"; + var_dump($c); + + // Verify data is not yet committed + $s1 = oci_parse($c1, "select * from scope_try4_tab"); + oci_execute($s1); + oci_fetch_all($s1, $r); + var_dump($r); + + // Now commit + oci_commit($c); +} + +// Verify data was committed in the Catch block + +$s1 = oci_parse($c1, "select * from scope_try4_tab"); +oci_execute($s1); +oci_fetch_all($s1, $r); +var_dump($r); + +// Cleanup + +$stmtarray = array( + "drop table scope_try4_tab" +); + +foreach ($stmtarray as $stmt) { + $s1 = oci_parse($c1, $stmt); + oci_execute($s1); +} + +echo "Done\n"; + +?> +--EXPECTF-- +Test 1 +Caught Exception: oci_execute(): ORA-00984: %s +resource(%d) of type (oci8 connection) +array(1) { + ["C1"]=> + array(0) { + } +} +array(1) { + ["C1"]=> + array(1) { + [0]=> + string(1) "1" + } +} +Done +--UEXPECTF-- +Test 1 +Caught Exception: oci_execute(): ORA-00984: %s +resource(%d) of type (oci8 connection) +array(1) { + [u"C1"]=> + array(0) { + } +} +array(1) { + [u"C1"]=> + array(1) { + [0]=> + unicode(1) "1" + } +} +Done http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/tests/connect_scope_try5.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/oci8/tests/connect_scope_try5.phpt diff -u /dev/null php-src/ext/oci8/tests/connect_scope_try5.phpt:1.2 --- /dev/null Tue May 13 00:04:52 2008 +++ php-src/ext/oci8/tests/connect_scope_try5.phpt Tue May 13 00:04:52 2008 @@ -0,0 +1,117 @@ +--TEST-- +Check oci_pconnect try/catch end-of-scope with old_oci_close_semantics Off +--SKIPIF-- +<?php if (!extension_loaded('oci8')) die ("skip no oci8 extension"); ?> +--INI-- +oci8.old_oci_close_semantics=0 +--FILE-- +<?php + +require(dirname(__FILE__).'/details.inc'); + +// Initialization + +$stmtarray = array( + "drop table scope_try5_tab", + "create table scope_try5_tab (c1 number)" +); + +if (!empty($dbase)) + $c1 = oci_new_connect($user,$password,$dbase); +else + $c1 = oci_new_connect($user,$password); + +foreach ($stmtarray as $stmt) { + $s1 = oci_parse($c1, $stmt); + @oci_execute($s1); +} + +// Run Test + +echo "Test 1\n"; + +// Make errors throw exceptions + +set_error_handler(create_function('$x, $y', 'throw new Exception($y, $x);')); + +try +{ + if (!empty($dbase)) + $c = oci_pconnect($user,$password,$dbase); + else + $c = oci_pconnect($user,$password); + $s = oci_parse($c, "insert into scope_try5_tab values (1)"); + oci_execute($s, OCI_DEFAULT); // no commit + $s = oci_parse($c, "insert into scope_try5_tab values (ABC)"); // syntax error -> throws exception + oci_execute($s, OCI_DEFAULT); // no commit +} +catch (Exception $e) +{ + echo "Caught Exception: ". $e->getMessage(), "\n"; + var_dump($c); + + // Verify data is not yet committed + $s1 = oci_parse($c1, "select * from scope_try5_tab"); + oci_execute($s1); + oci_fetch_all($s1, $r); + var_dump($r); + + // Now commit + oci_commit($c); +} + +// Verify data was committed in the Catch block + +$s1 = oci_parse($c1, "select * from scope_try5_tab"); +oci_execute($s1); +oci_fetch_all($s1, $r); +var_dump($r); + +// Cleanup + +$stmtarray = array( + "drop table scope_try5_tab" +); + +foreach ($stmtarray as $stmt) { + $s1 = oci_parse($c1, $stmt); + oci_execute($s1); +} + +echo "Done\n"; + +?> +--EXPECTF-- +Test 1 +Caught Exception: oci_execute(): ORA-00984: %s +resource(%d) of type (oci8 persistent connection) +array(1) { + ["C1"]=> + array(0) { + } +} +array(1) { + ["C1"]=> + array(1) { + [0]=> + string(1) "1" + } +} +Done +--UEXPECTF-- +Test 1 +Caught Exception: oci_execute(): ORA-00984: %s +resource(%d) of type (oci8 persistent connection) +array(1) { + [u"C1"]=> + array(0) { + } +} +array(1) { + [u"C1"]=> + array(1) { + [0]=> + unicode(1) "1" + } +} +Done http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/tests/connect_scope_try6.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/oci8/tests/connect_scope_try6.phpt diff -u /dev/null php-src/ext/oci8/tests/connect_scope_try6.phpt:1.2 --- /dev/null Tue May 13 00:04:52 2008 +++ php-src/ext/oci8/tests/connect_scope_try6.phpt Tue May 13 00:04:52 2008 @@ -0,0 +1,117 @@ +--TEST-- +Check oci_pconnect try/catch end-of-scope with old_oci_close_semantics On +--SKIPIF-- +<?php if (!extension_loaded('oci8')) die ("skip no oci8 extension"); ?> +--INI-- +oci8.old_oci_close_semantics=1 +--FILE-- +<?php + +require(dirname(__FILE__).'/details.inc'); + +// Initialization + +$stmtarray = array( + "drop table scope_try6_tab", + "create table scope_try6_tab (c1 number)" +); + +if (!empty($dbase)) + $c1 = oci_new_connect($user,$password,$dbase); +else + $c1 = oci_new_connect($user,$password); + +foreach ($stmtarray as $stmt) { + $s1 = oci_parse($c1, $stmt); + @oci_execute($s1); +} + +// Run Test + +echo "Test 1\n"; + +// Make errors throw exceptions + +set_error_handler(create_function('$x, $y', 'throw new Exception($y, $x);')); + +try +{ + if (!empty($dbase)) + $c = oci_pconnect($user,$password,$dbase); + else + $c = oci_pconnect($user,$password); + $s = oci_parse($c, "insert into scope_try6_tab values (1)"); + oci_execute($s, OCI_DEFAULT); // no commit + $s = oci_parse($c, "insert into scope_try6_tab values (ABC)"); // syntax error -> throws exception + oci_execute($s, OCI_DEFAULT); // no commit +} +catch (Exception $e) +{ + echo "Caught Exception: ". $e->getMessage(), "\n"; + var_dump($c); + + // Verify data is not yet committed + $s1 = oci_parse($c1, "select * from scope_try6_tab"); + oci_execute($s1); + oci_fetch_all($s1, $r); + var_dump($r); + + // Now commit + oci_commit($c); +} + +// Verify data was committed in the Catch block + +$s1 = oci_parse($c1, "select * from scope_try6_tab"); +oci_execute($s1); +oci_fetch_all($s1, $r); +var_dump($r); + +// Cleanup + +$stmtarray = array( + "drop table scope_try6_tab" +); + +foreach ($stmtarray as $stmt) { + $s1 = oci_parse($c1, $stmt); + oci_execute($s1); +} + +echo "Done\n"; + +?> +--EXPECTF-- +Test 1 +Caught Exception: oci_execute(): ORA-00984: %s +resource(%d) of type (oci8 persistent connection) +array(1) { + ["C1"]=> + array(0) { + } +} +array(1) { + ["C1"]=> + array(1) { + [0]=> + string(1) "1" + } +} +Done +--UEXPECTF-- +Test 1 +Caught Exception: oci_execute(): ORA-00984: %s +resource(%d) of type (oci8 persistent connection) +array(1) { + [u"C1"]=> + array(0) { + } +} +array(1) { + [u"C1"]=> + array(1) { + [0]=> + unicode(1) "1" + } +} +Done http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/tests/drcp_scope4.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/oci8/tests/drcp_scope4.phpt diff -u php-src/ext/oci8/tests/drcp_scope4.phpt:1.1 php-src/ext/oci8/tests/drcp_scope4.phpt:1.2 --- php-src/ext/oci8/tests/drcp_scope4.phpt:1.1 Fri Apr 18 00:04:45 2008 +++ php-src/ext/oci8/tests/drcp_scope4.phpt Tue May 13 00:04:52 2008 @@ -10,10 +10,15 @@ require dirname(__FILE__)."/drcp_functions.inc"; require dirname(__FILE__)."/details.inc"; -// The test opens a connection within function1 and updates a table -// (without committing). Another connection is opened from function -// 2, and the table queried. When function1 ends, the txn is rolled -// back and hence the updated value will not be reflected in function2 +// The default expected behavior of this test is different between PHP +// 5.2 and PHP 5.3 +// +// In PHP 5.3, the test opens a connection within function1 and +// updates a table (without committing). Another connection is opened +// from function 2, and the table queried. When function1 ends, the +// txn is rolled back and hence the updated value will not be +// reflected in function2. Use oci8.old_oci_close_semantics=1 to +// get old behavior // Create the table $c = oci_new_connect($user,$password,$dbase); http://cvs.php.net/viewvc.cgi/php-src/ext/oci8/tests/minfo.phpt?view=markup&rev=1.1 Index: php-src/ext/oci8/tests/minfo.phpt +++ php-src/ext/oci8/tests/minfo.phpt --TEST-- Code coverage for PHP_MINFO_FUNCTION(oci) --SKIPIF-- <?php if (!extension_loaded('oci8')) die ("skip no oci8 extension"); ?> --FILE-- <?php ob_start(); phpinfo(INFO_MODULES); $v = ob_get_clean(); $r = strpos($v, 'OCI8 Support => enabled'); var_dump($r); echo "Done\n"; ?> --EXPECTF-- int(%d) Done
« previous php.cvs (#49940) next »