Update for new Oracle patchset variation
authorChristopher Jones <sixd@php.net>
Tue, 1 Nov 2011 21:30:57 +0000 (21:30 +0000)
committerChristopher Jones <sixd@php.net>
Tue, 1 Nov 2011 21:30:57 +0000 (21:30 +0000)
16 files changed:
ext/oci8/tests/bind_char_1.phpt
ext/oci8/tests/bind_char_1_11gR1.phpt
ext/oci8/tests/bind_char_2.phpt
ext/oci8/tests/bind_char_2_11gR1.phpt
ext/oci8/tests/bind_char_3.phpt
ext/oci8/tests/bind_char_3_11gR1.phpt
ext/oci8/tests/bind_char_4.phpt
ext/oci8/tests/bind_char_4_11gR1.phpt
ext/oci8/tests/bug27303_1.phpt
ext/oci8/tests/bug27303_1_11gR1.phpt
ext/oci8/tests/bug27303_2.phpt
ext/oci8/tests/bug27303_2_11gR1.phpt
ext/oci8/tests/bug27303_4.phpt
ext/oci8/tests/bug27303_4_11gR1.phpt
ext/oci8/tests/password_new.phpt
ext/oci8/tests/password_old.phpt

index a668294d4dfe76dbfefdfbc9b0918b1e78df6c8d..91fa4b75b76b206829f6f9b9e41a1a626837fea5 100644 (file)
@@ -4,9 +4,13 @@ SELECT oci_bind_by_name with SQLT_AFC aka CHAR
 <?php
 if (!extension_loaded('oci8')) die ("skip no oci8 extension");
 require(dirname(__FILE__)."/connect.inc");
-if (preg_match('/Release 1[01]\.2\./', oci_server_version($c), $matches) !== 1) {
-       die("skip expected output only valid when using Oracle 10gR2 or 11gR2 databases");
-} else if (preg_match('/^11\./', oci_client_version()) != 1) {
+// The bind buffer size edge cases seem to change each DB version.
+if (preg_match('/Release 10\.2\./', oci_server_version($c), $matches) !== 1) {
+    if (preg_match('/Release 11\.2\.0\.2/', oci_server_version($c), $matches) !== 2) {
+        die("skip expected output only valid when using Oracle 10gR2 or 11.2.0.2 databases");
+    }
+}
+if (preg_match('/^11\./', oci_client_version()) != 1) {
     die("skip test expected to work only with Oracle 11g or greater version of client");
 }
 ?>
index 55973a61b681c318049acd9f7918b2b48eb09d16..a7feff9f6a8793fb3cfabe2cffbddd18d65fbb22 100644 (file)
@@ -4,12 +4,15 @@ SELECT oci_bind_by_name with SQLT_AFC aka CHAR
 <?php
 if (!extension_loaded('oci8')) die ("skip no oci8 extension");
 require(dirname(__FILE__)."/connect.inc");
-$sv = oci_server_version($c);
-$sv = preg_match('/Release 11\.1\./', $sv, $matches);
-if ($sv !== 1) {
-       die ("skip expected output only valid when using Oracle 11gR1 database");
+// The bind buffer size edge cases seem to change each DB version.
+if (preg_match('/Release 11\.1\./', oci_server_version($c), $matches) !== 1) {
+    if (preg_match('/Release 11\.2\.0\.3/', oci_server_version($c), $matches) !== 1) {
+        die("skip expected output only valid when using Oracle 11gR1 or 11.2.0.3 databases");
+    }
 }
 ?>
+--ENV--
+NLS_LANG=
 --FILE--
 <?php
 
index 53785e066598e9e3b135fa4c006de3e20fac2ecb..43661a065da493c1aa78ae1c62dbaf144c61ecd7 100644 (file)
@@ -4,9 +4,13 @@ SELECT oci_bind_by_name with SQLT_AFC aka CHAR and dates
 <?php
 if (!extension_loaded('oci8')) die ("skip no oci8 extension");
 require(dirname(__FILE__)."/connect.inc");
-if (preg_match('/Release 1[01]\.2\./', oci_server_version($c), $matches) !== 1) {
-       die("skip expected output only valid when using Oracle 10gR2 or 11gR2 databases");
-} else if (preg_match('/^11\./', oci_client_version()) != 1) {
+// The bind buffer size edge cases seem to change each DB version.
+if (preg_match('/Release 10\.2\./', oci_server_version($c), $matches) !== 1) {
+    if (preg_match('/Release 11\.2\.0\.2/', oci_server_version($c), $matches) !== 2) {
+        die("skip expected output only valid when using Oracle 10gR2 or 11.2.0.2 databases");
+    }
+}
+if (preg_match('/^11\./', oci_client_version()) != 1) {
     die("skip test expected to work only with Oracle 11g or greater version of client");
 }
 ?>
index 357a716e6dc2bfabf394a7507b9c94c45375ff4d..8bb28733feeb11c139f665bbda0395e6af05fdea 100644 (file)
@@ -4,12 +4,15 @@ SELECT oci_bind_by_name with SQLT_AFC aka CHAR and dates
 <?php
 if (!extension_loaded('oci8')) die ("skip no oci8 extension");
 require(dirname(__FILE__)."/connect.inc");
-$sv = oci_server_version($c);
-$sv = preg_match('/Release 11\.1\./', $sv, $matches);
-if ($sv !== 1) {
-       die ("skip expected output only valid when using Oracle 11gR1 database");
+// The bind buffer size edge cases seem to change each DB version.
+if (preg_match('/Release 11\.1\./', $sv, $matches) !== 1) {
+    if (preg_match('/Release 11\.2\.0\.3/', oci_server_version($c), $matches) !== 1) {
+        die("skip expected output only valid when using Oracle 11gR1 or 11.2.0.3 databases");
+    }
 }
 ?>
+--ENV--
+NLS_LANG=
 --FILE--
 <?php
 
index a459f616b2a1d0954a6b3a56e587f5e395b08502..25115836dfcb786fdad927511290dbc5587db291 100644 (file)
@@ -4,9 +4,13 @@ PL/SQL oci_bind_by_name with SQLT_AFC aka CHAR to CHAR parameter
 <?php
 if (!extension_loaded('oci8')) die ("skip no oci8 extension");
 require(dirname(__FILE__)."/connect.inc");
-if (preg_match('/Release 1[01]\.2\./', oci_server_version($c), $matches) !== 1) {
-       die("skip expected output only valid when using Oracle 10gR2 or 11gR2 databases");
-} else if (preg_match('/^11\./', oci_client_version()) != 1) {
+// The bind buffer size edge cases seem to change each DB version.
+if (preg_match('/Release 10\.2\./', oci_server_version($c), $matches) !== 1) {
+    if (preg_match('/Release 11\.2\.0\.2/', oci_server_version($c), $matches) !== 2) {
+        die("skip expected output only valid when using Oracle 10gR2 or 11.2.0.2 databases");
+    }
+}
+if (preg_match('/^11\./', oci_client_version()) != 1) {
     die("skip test expected to work only with Oracle 11g or greater version of client");
 }
 ?>
index 1e7da47edcc09de3eb0fdaa547cf9c2637d72df9..4c6241ccfd2497eeb3b7ff29b1a558ca8d4976ba 100644 (file)
@@ -4,12 +4,15 @@ PL/SQL oci_bind_by_name with SQLT_AFC aka CHAR to CHAR parameter
 <?php
 if (!extension_loaded('oci8')) die ("skip no oci8 extension");
 require(dirname(__FILE__)."/connect.inc");
-$sv = oci_server_version($c);
-$sv = preg_match('/Release 11\.1\./', $sv, $matches);
-if ($sv !== 1) {
-       die ("skip expected output only valid when using Oracle 11gR1 database");
+// The bind buffer size edge cases seem to change each DB version.
+if (preg_match('/Release 11\.1\./', $sv, $matches) !== 1) {
+    if (preg_match('/Release 11\.2\.0\.3/', oci_server_version($c), $matches) !== 1) {
+        die("skip expected output only valid when using Oracle 11gR1 or 11.2.0.3 databases");
+    }
 }
 ?>
+--ENV--
+NLS_LANG=
 --FILE--
 <?php
 
index 34d703c5210c15d27a3cc479ba598f506a19e94e..36765f813744322d8c59c180c70601e09e72bbce 100644 (file)
@@ -4,9 +4,13 @@ PL/SQL oci_bind_by_name with SQLT_AFC aka CHAR to VARCHAR2 parameter
 <?php
 if (!extension_loaded('oci8')) die ("skip no oci8 extension");
 require(dirname(__FILE__)."/connect.inc");
-if (preg_match('/Release 1[01]\.2\./', oci_server_version($c), $matches) !== 1) {
-       die("skip expected output only valid when using Oracle 10gR2 or 11gR2 databases");
-} else if (preg_match('/^11\./', oci_client_version()) != 1) {
+// The bind buffer size edge cases seem to change each DB version.
+if (preg_match('/Release 10\.2\./', oci_server_version($c), $matches) !== 1) {
+    if (preg_match('/Release 11\.2\.0\.2/', oci_server_version($c), $matches) !== 2) {
+        die("skip expected output only valid when using Oracle 10gR2 or 11.2.0.2 databases");
+    }
+}
+if (preg_match('/^11\./', oci_client_version()) != 1) {
     die("skip test expected to work only with Oracle 11g or greater version of client");
 }
 ?>
index 87b7daba8889632e6725401532ce33ba3246f9cf..14d58788560fea4dc755bc37d4505d03b912a6d4 100644 (file)
@@ -4,12 +4,15 @@ PL/SQL oci_bind_by_name with SQLT_AFC aka CHAR to VARCHAR2 parameter
 <?php
 if (!extension_loaded('oci8')) die ("skip no oci8 extension");
 require(dirname(__FILE__)."/connect.inc");
-$sv = oci_server_version($c);
-$sv = preg_match('/Release 11\.1\./', $sv, $matches);
-if ($sv !== 1) {
-       die ("skip expected output only valid when using Oracle 11gR1 database");
+// The bind buffer size edge cases seem to change each DB version.
+if (preg_match('/Release 11\.1\./', $sv, $matches) !== 1) {
+    if (preg_match('/Release 11\.2\.0\.3/', oci_server_version($c), $matches) !== 1) {
+        die("skip expected output only valid when using Oracle 11gR1 or 11.2.0.3 databases");
+    }
 }
 ?>
+--ENV--
+NLS_LANG=
 --FILE--
 <?php
 
index 028f5b79362559278774407bd477ff8a25669943..40ab4ebed247216ac4c40ac9931e59279aadb414 100644 (file)
@@ -4,9 +4,13 @@ Bug #27303 (OCIBindByName binds numeric PHP values as characters)
 <?php
 if (!extension_loaded('oci8')) die ("skip no oci8 extension");
 require(dirname(__FILE__)."/connect.inc");
-if (preg_match('/Release 1[01]\.2\./', oci_server_version($c), $matches) !== 1) {
-       die("skip expected output only valid when using Oracle 10gR2 or 11gR2 databases");
-} else if (preg_match('/^11\./', oci_client_version()) != 1) {
+// The bind buffer size edge cases seem to change each DB version.
+if (preg_match('/Release 10\.2\.0\.2/', oci_server_version($c), $matches) !== 1 &&
+    preg_match('/Release 11\.2\.0\.2/', oci_server_version($c), $matches) !== 1) {
+        die("skip expected output only valid when using Oracle 10.2.0.2 or 11.2.0.2 databases");
+        // Other point releases may also work
+}
+if (preg_match('/^11\./', oci_client_version()) != 1) {
     die("skip test expected to work only with Oracle 11g or greater version of client");
 }
 ?>
index 20097613f4a4e675916b1fef550119a9ab04dc3b..6de9b9937855397f0bbdefcdb9ded9f706054629 100644 (file)
@@ -4,10 +4,13 @@ Bug #27303 (OCIBindByName binds numeric PHP values as characters)
 <?php
 if (!extension_loaded('oci8')) die ("skip no oci8 extension");
 require(dirname(__FILE__)."/connect.inc");
-$sv = oci_server_version($c);
-$sv = preg_match('/Release 11\.1\./', $sv, $matches);
-if ($sv !== 1) {
-       die ("skip expected output only valid when using Oracle 11gR1 database");
+// The bind buffer size edge cases seem to change each DB version.
+if (preg_match('/Release 10\.2\.0\.3/', oci_server_version($c), $matches) !== 1) {
+    if (preg_match('/Release 11\.1\.0\.6/', oci_server_version($c), $matches) !== 1) {
+        if (preg_match('/Release 11\.2\.0\.3/', oci_server_version($c), $matches) !== 1) {
+            die("skip expected output only valid when using specific Oracle database versions");
+        }
+    }
 }
 ?>
 --FILE--
index e7564ac213e0aca5fbda8d20f16d3467334a4946..1fb2b316827198749c7b0b4b8f85295511d2e3fd 100644 (file)
@@ -4,9 +4,13 @@ Bug #27303 (OCIBindByName binds numeric PHP values as characters)
 <?php
 if (!extension_loaded('oci8')) die ("skip no oci8 extension");
 require(dirname(__FILE__)."/connect.inc");
-if (preg_match('/Release 1[01]\.2\./', oci_server_version($c), $matches) !== 1) {
-       die("skip expected output only valid when using Oracle 10gR2 or 11gR2 databases");
-} else if (preg_match('/^11\./', oci_client_version()) != 1) {
+// The bind buffer size edge cases seem to change each DB version.
+if (preg_match('/Release 10\.2\.0\.2/', oci_server_version($c), $matches) !== 1 &&
+    preg_match('/Release 11\.2\.0\.2/', oci_server_version($c), $matches) !== 1) {
+        die("skip expected output only valid when using Oracle 10.2.0.2 or 11.2.0.2 databases");
+        // Other point releases may also work
+}
+if (preg_match('/^11\./', oci_client_version()) != 1) {
     die("skip test expected to work only with Oracle 11g or greater version of client");
 }
 ?>
index c2b5c433c450125ebfe4a2b1b0a95921c526e328..1e3e3105ad6653cbe26f972f2783ffc9b4aa003d 100644 (file)
@@ -4,10 +4,13 @@ Bug #27303 (OCIBindByName binds numeric PHP values as characters)
 <?php
 if (!extension_loaded('oci8')) die ("skip no oci8 extension");
 require(dirname(__FILE__)."/connect.inc");
-$sv = oci_server_version($c);
-$sv = preg_match('/Release 11\.1\./', $sv, $matches);
-if ($sv !== 1) {
-       die ("skip expected output only valid when using Oracle 11gR1 database");
+// The bind buffer size edge cases seem to change each DB version.
+if (preg_match('/Release 10\.2\.0\.3/', oci_server_version($c), $matches) !== 1) {
+    if (preg_match('/Release 11\.1\.0\.6/', oci_server_version($c), $matches) !== 1) {
+        if (preg_match('/Release 11\.2\.0\.3/', oci_server_version($c), $matches) !== 1) {
+            die("skip expected output only valid when using specific Oracle database versions");
+        }
+    }
 }
 ?>
 --FILE--
index 0dcfed9133ab61842d8ffa290c61fbace1529759..3137db865919198621a22378643d130b4932e3cf 100644 (file)
@@ -4,9 +4,13 @@ Bug #27303 (OCIBindByName binds numeric PHP values as characters)
 <?php
 if (!extension_loaded('oci8')) die ("skip no oci8 extension");
 require(dirname(__FILE__)."/connect.inc");
-if (preg_match('/Release 1[01]\.2\./', oci_server_version($c), $matches) !== 1) {
-       die("skip expected output only valid when using Oracle 10gR2 or 11gR2 databases");
-} else if (preg_match('/^11\./', oci_client_version()) != 1) {
+// The bind buffer size edge cases seem to change each DB version.
+if (preg_match('/Release 10\.2\.0\.2/', oci_server_version($c), $matches) !== 1 &&
+    preg_match('/Release 11\.2\.0\.2/', oci_server_version($c), $matches) !== 1) {
+        die("skip expected output only valid when using Oracle 10.2.0.2 or 11.2.0.2 databases");
+        // Other point releases may also work
+}
+if (preg_match('/^11\./', oci_client_version()) != 1) {
     die("skip test expected to work only with Oracle 11g or greater version of client");
 }
 ?>
@@ -23,10 +27,7 @@ $create_st[] = "drop table mytab";
 $create_st[] = "create sequence myseq";
 $create_st[] = "create table mytab (mydata varchar2(20), seqcol number)";
 
-foreach ($create_st as $statement) {
-       $stmt = oci_parse($c, $statement);
-       oci_execute($stmt);
-}
+oci8_test_sql_execute($c, $create_st);
 
 define('MYLIMIT', 200);
 
@@ -50,10 +51,7 @@ $drop_st = array();
 $drop_st[] = "drop sequence myseq";
 $drop_st[] = "drop table mytab";
 
-foreach ($create_st as $statement) {
-       $stmt = oci_parse($c, $statement);
-       oci_execute($stmt);
-}
+oci8_test_sql_execute($c, $drop_st);
 
 echo "Done\n";
 ?>
index 0c88360be2c338119528128d5b03e397bb5a9560..f9bc2da8a25ad04e836151b189e64c16daed1bd7 100644 (file)
@@ -4,10 +4,13 @@ Bug #27303 (OCIBindByName binds numeric PHP values as characters)
 <?php
 if (!extension_loaded('oci8')) die ("skip no oci8 extension");
 require(dirname(__FILE__)."/connect.inc");
-$sv = oci_server_version($c);
-$sv = preg_match('/Release 11\.1\./', $sv, $matches);
-if ($sv !== 1) {
-       die ("skip expected output only valid when using Oracle 11gR1 database");
+// The bind buffer size edge cases seem to change each DB version.
+if (preg_match('/Release 10\.2\.0\.3/', oci_server_version($c), $matches) !== 1) {
+    if (preg_match('/Release 11\.1\.0\.6/', oci_server_version($c), $matches) !== 1) {
+        if (preg_match('/Release 11\.2\.0\.3/', oci_server_version($c), $matches) !== 1) {
+            die("skip expected output only valid when using specific Oracle database versions");
+        }
+    }
 }
 ?>
 --FILE--
@@ -21,10 +24,7 @@ $create_st[] = "drop table mytab";
 $create_st[] = "create sequence myseq";
 $create_st[] = "create table mytab (mydata varchar2(20), seqcol number)";
 
-foreach ($create_st as $statement) {
-       $stmt = oci_parse($c, $statement);
-       oci_execute($stmt);
-}
+oci8_test_sql_execute($c, $create_st);
 
 define('MYLIMIT', 200);
 
@@ -48,10 +48,7 @@ $drop_st = array();
 $drop_st[] = "drop sequence myseq";
 $drop_st[] = "drop table mytab";
 
-foreach ($create_st as $statement) {
-       $stmt = oci_parse($c, $statement);
-       oci_execute($stmt);
-}
+oci8_test_sql_execute($c, $drop_st);
 
 echo "Done\n";
 ?>
index 8041699f925e2166dde6bec0585ec7944fa50d99..c218d904fa2daef39504985178405a00b0095b08 100644 (file)
@@ -17,6 +17,10 @@ if (preg_match('/Release (11|12)\./', oci_server_version($c), $matches) === 1 &&
 --FILE--
 <?php
 
+// This test will diff if either the client or the server is 11.2.0.3
+// (or greater) and the other is 11.2.0.2 (or earlier).  Both client
+// and server must be upgraded at the same time.
+
 require dirname(__FILE__)."/connect.inc";
 
 $new_password = "test";
index 3ff726d2b7c402109015eeeb94a5ebf1b490c5c9..fdbb1f9e892323b783dceccd60a12521c5fbfbee 100644 (file)
@@ -19,6 +19,10 @@ if (preg_match('/Release (11|12)\./', oci_server_version($c), $matches) === 1 &&
 --FILE--
 <?php
 
+// This test will diff if either the client or the server is 11.2.0.3
+// (or greater) and the other is 11.2.0.2 (or earlier).  Both client
+// and server must be upgraded at the same time.
+
 require dirname(__FILE__)."/connect.inc";
 
 $new_password = "test";