diff options
Diffstat (limited to 'ext/oci8/tests/commit_002.phpt')
-rw-r--r-- | ext/oci8/tests/commit_002.phpt | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/ext/oci8/tests/commit_002.phpt b/ext/oci8/tests/commit_002.phpt new file mode 100644 index 0000000..4079ac0 --- /dev/null +++ b/ext/oci8/tests/commit_002.phpt @@ -0,0 +1,74 @@ +--TEST-- +Test oci_commit failure +--SKIPIF-- +<?php +$target_dbs = array('oracledb' => true, 'timesten' => false); // test runs on these DBs +require(dirname(__FILE__).'/skipif.inc'); +?> +--FILE-- +<?php + +require(dirname(__FILE__).'/connect.inc'); + +// Initialization + +$stmtarray = array( + "drop table commit_002_tab", + "create table commit_002_tab + ( x int constraint commit_002_tab_check_x check ( x > 0 ) deferrable initially immediate, + y int constraint commit_002_tab_check_y check ( y > 0 ) deferrable initially deferred)" +); + +oci8_test_sql_execute($c, $stmtarray); + +// Run Test + +echo "First Insert\n"; +$s = oci_parse($c, "insert into commit_002_tab values (-1, 1)"); +$r = @oci_execute($s, OCI_DEFAULT); +if (!$r) { + $m = oci_error($s); + echo 'Could not execute: '. $m['message'] . "\n"; +} +$r = oci_commit($c); +if (!$r) { + $m = oci_error($c); + echo 'Could not commit: '. $m['message'] . "\n"; +} + + +echo "Second Insert\n"; +$s = oci_parse($c, "insert into commit_002_tab values (1, -1)"); +$r = @oci_execute($s, OCI_NO_AUTO_COMMIT); +if (!$r) { + $m = oci_error($s); + echo 'Could not execute: '. $m['message'] . "\n"; +} +$r = oci_commit($c); +if (!$r) { + $m = oci_error($c); + echo 'Could not commit: '. $m['message'] . "\n"; +} + + +// Clean up + +$stmtarray = array( + "drop table commit_002_tab" +); + +oci8_test_sql_execute($c, $stmtarray); + +?> +===DONE=== +<?php exit(0); ?> +--EXPECTF-- +First Insert +Could not execute: ORA-02290: %s (%s.COMMIT_002_TAB_CHECK_X) %s +Second Insert + +Warning: oci_commit(): ORA-02091: %s +ORA-02290: %s (%s.COMMIT_002_TAB_CHECK_Y) %s in %scommit_002.php on line %d +Could not commit: ORA-02091: %s +ORA-02290: %s (%s.COMMIT_002_TAB_CHECK_Y) %s +===DONE=== |