summaryrefslogtreecommitdiff
path: root/ext/oci8/tests/conn_attr_2.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/oci8/tests/conn_attr_2.phpt')
-rw-r--r--ext/oci8/tests/conn_attr_2.phpt36
1 files changed, 24 insertions, 12 deletions
diff --git a/ext/oci8/tests/conn_attr_2.phpt b/ext/oci8/tests/conn_attr_2.phpt
index 1072503529..432a3cff04 100644
--- a/ext/oci8/tests/conn_attr_2.phpt
+++ b/ext/oci8/tests/conn_attr_2.phpt
@@ -8,40 +8,45 @@ require(dirname(__FILE__).'/skipif.inc');
if (strcasecmp($user, "system") && strcasecmp($user, "sys")) die("skip needs to be run as a DBA user");
if ($test_drcp) die("skip output might vary with DRCP");
-if (preg_match('/Release 1[01]\./', oci_server_version($c), $matches) !== 1) {
+preg_match('/.*Release ([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)*/', oci_server_version($c), $matches);
+if (!(isset($matches[0]) && $matches[1] >= 10)) {
die("skip expected output only valid when using Oracle 10g or greater database server");
-} else if (preg_match('/^1[01]\./', oci_client_version()) != 1) {
+}
+preg_match('/^[[:digit:]]+/', oci_client_version(), $matches);
+if (isset($matches[0]) && $matches[0] < 10) {
die("skip test expected to work only with Oracle 10g or greater version of client");
}
-
?>
--INI--
oci8.privileged_connect = On
--FILE--
<?php
+
+$testuser = 'testuser_attr_2'; // Used in conn_attr.inc
+$testpassword = 'testuser';
+
require(dirname(__FILE__)."/conn_attr.inc");
-$user='testuser';
-$password='testuser';
+
$attr_array = array('MODULE','ACTION','CLIENT_INFO','CLIENT_IDENTIFIER');
echo"**Set values using pconnect-1**\n";
-var_dump($pc1 = oci_pconnect($user,$password,$dbase));
+var_dump($pc1 = oci_pconnect($testuser,$testpassword,$dbase));
foreach($attr_array as $attr) {
set_attr($pc1,$attr,100);
}
// using pc1 again
echo"\n**Get values using pconnect-2**\n";
-var_dump($pc3 = oci_pconnect($user,$password,$dbase));
+var_dump($pc3 = oci_pconnect($testuser,$testpassword,$dbase));
foreach($attr_array as $attr) {
get_attr($pc3,$attr);
}
// Get with different pconnect
echo"\n**Get values using pconnect-3**\n";
-var_dump($pc2 = oci_pconnect($user,$password,$dbase,'UTF8'));
+var_dump($pc2 = oci_pconnect($testuser,$testpassword,$dbase,'UTF8'));
foreach($attr_array as $attr) {
get_attr($pc2,$attr);
}
@@ -52,15 +57,22 @@ oci_close($pc3);
// Re-open a persistent connection and check for the attr values.
echo "\n**Re-open a pconnect()**\n";
-var_dump($pc4 = oci_pconnect($user,$password,$dbase));
+var_dump($pc4 = oci_pconnect($testuser,$testpassword,$dbase));
foreach($attr_array as $attr) {
get_attr($pc4,$attr);
}
oci_close($pc4);
// Test with SYSDBA connection.
-var_dump($sys_c1 = oci_pconnect($user,$password,$dbase,false,OCI_SYSDBA));
-if ($sys_c1) {
+echo "\n**Test with SYSDBA connection**\n";
+$sys_c1 = @oci_pconnect($testuser,$testpassword,$dbase,false,OCI_SYSDBA);
+var_dump($sys_c1);
+if (!$sys_c1) {
+ $e = oci_error();
+ if ($e['code'] != 1031 && $e['code'] != 1017) {
+ var_dump($e);
+ }
+} else {
set_attr($sys_c1,'ACTION',10);
get_sys_attr($sys_c1,'ACTION');
get_attr($pc2,'ACTION');
@@ -100,6 +112,6 @@ The value of ACTION is TASK100
The value of CLIENT_INFO is INFO1100
The value of CLIENT_IDENTIFIER is ID00100
-Warning: oci_pconnect(): ORA-01031: %s on line %d
+**Test with SYSDBA connection**
bool(false)
Done