diff options
Diffstat (limited to 'tests/drcp_scope3.phpt')
-rw-r--r-- | tests/drcp_scope3.phpt | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/drcp_scope3.phpt b/tests/drcp_scope3.phpt new file mode 100644 index 0000000000..b448a518ad --- /dev/null +++ b/tests/drcp_scope3.phpt @@ -0,0 +1,61 @@ +--TEST-- +DRCP: oci_pconnect() with scope end when oci8.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__)."/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 connection from +// function1 is not closed, so the updated value will be seen in +// function2. Also the table can't be dropped because an uncommitted +// transaction exists. + +// Create the table +$c = oci_new_connect($user,$password,$dbase); +@drcp_drop_table($c); +drcp_create_table($c); + +echo "This is with a OCI_PCONNECT\n"; +function1($user,$password,$dbase); + +// Should return the OLD value +function2($user,$password,$dbase); + +// This is the first scope for the script + +function function1($user,$password,$dbase) +{ + var_dump($c = oci_pconnect($user,$password,$dbase)); + drcp_update_table($c); +} + +// This is the second scope + +function function2($user,$password,$dbase) +{ + var_dump($c = oci_pconnect($user,$password,$dbase)); + drcp_select_value($c); +} + +drcp_drop_table($c); +oci_close($c); + +echo "Done\n"; + +?> +--EXPECTF-- +This is with a OCI_PCONNECT +resource(%d) of type (oci8 persistent connection) +Update done-- DEPT value has been set to NEWDEPT +resource(%d) of type (oci8 persistent connection) +The value of DEPT for id 105 is NEWDEPT + +Warning: oci_execute(): ORA-00054: %s +Done
\ No newline at end of file |