10 changed files with 814 additions and 4 deletions
-
93ext/oci8/tests/connect_scope1.phpt
-
93ext/oci8/tests/connect_scope2.phpt
-
100ext/oci8/tests/connect_scope_try1.phpt
-
100ext/oci8/tests/connect_scope_try2.phpt
-
100ext/oci8/tests/connect_scope_try3.phpt
-
100ext/oci8/tests/connect_scope_try4.phpt
-
100ext/oci8/tests/connect_scope_try5.phpt
-
100ext/oci8/tests/connect_scope_try6.phpt
-
13ext/oci8/tests/drcp_scope4.phpt
-
19ext/oci8/tests/minfo.phpt
@ -0,0 +1,93 @@ |
|||
--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 |
|||
@ -0,0 +1,93 @@ |
|||
--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 |
|||
@ -0,0 +1,100 @@ |
|||
--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 |
|||
@ -0,0 +1,100 @@ |
|||
--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 |
|||
@ -0,0 +1,100 @@ |
|||
--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 |
|||
@ -0,0 +1,100 @@ |
|||
--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 |
|||
@ -0,0 +1,100 @@ |
|||
--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 |
|||
@ -0,0 +1,100 @@ |
|||
--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 |
|||
@ -0,0 +1,19 @@ |
|||
--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 |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue