--TEST-- Check oci_pconnect try/catch end-of-scope with old_oci_close_semantics On --SKIPIF-- --INI-- oci8.old_oci_close_semantics=1 --FILE-- 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