]> granicus.if.org Git - php/commitdiff
Updated tests for Oracle (oci8) support (Mc)
authorMarc Boeren <mboeren@php.net>
Wed, 23 Oct 2002 10:45:29 +0000 (10:45 +0000)
committerMarc Boeren <mboeren@php.net>
Wed, 23 Oct 2002 10:45:29 +0000 (10:45 +0000)
ext/dbx/tests/004.phpt
ext/dbx/tests/005.phpt
ext/dbx/tests/006.phpt
ext/dbx/tests/007.phpt
ext/dbx/tests/008.phpt
ext/dbx/tests/dbx_test.p

index 54b6887a7f21df33740defc68dae3628bd36e057..87f3e185e7f2cd806fbc02f6731cfb5b2f811bc2 100644 (file)
@@ -14,11 +14,16 @@ dbx_close
 <?php 
 include_once("dbx_test.p");
 $dlo = dbx_connect($module, $host, $database, $username, $password);
-if ($dlo!=0) {
-       if (dbx_close($dlo)) {
-        print('close works ok'."\n");
+if ($module===DBX_OCI8) { // close for oci8 always return NULL since it doesn't do anything
+    print('close works ok'."\n");
+    }
+else {
+    if ($dlo!=0) {
+        if (dbx_close($dlo)) {
+            print('close works ok'."\n");
+            }
         }
-       }
+    }
 if (!@dbx_close($dlo)) {
     print('close failure works ok'."\n");
     }
index 993d9a9adabbeda1e06498ecbaab6c1ebad130df..6c78e7717cd774753635c07024bc841b5ced230b 100644 (file)
@@ -30,9 +30,9 @@ else {
     // select query
     if ($dro=dbx_query($dlo, $sql_statement)) {
         for ($i=0; $i<$dro->rows; ++$i) {
-            print($dro->data[$i]['id'].".".$dro->data[$i]['description'].".".$dro->data[$i]['field1'].".".strlen($dro->data[$i]['field2'])."\n");
+            print($dro->data[$i][$fieldname_case_function('id')].".".$dro->data[$i][$fieldname_case_function('description')].".".$dro->data[$i][$fieldname_case_function('field1')].".".strlen($dro->data[$i][$fieldname_case_function('field2')])."\n");
             }
-        $dro->data[0]['id']='changed_value';
+        $dro->data[0][$fieldname_case_function('id')]='changed_value';
         print($dro->data[0][0]."\n");
         }
     // insert query
@@ -40,7 +40,7 @@ else {
         print('insert-query: dbx_query works ok'."\n");
         if ($dro=dbx_query($dlo, $sql_select_statement)) {
             for ($i=0; $i<$dro->rows; ++$i) {
-                print($dro->data[$i]['id'].".".$dro->data[$i]['description'].".".strlen($dro->data[$i]['field2'])."\n");
+                print($dro->data[$i][$fieldname_case_function('id')].".".$dro->data[$i][$fieldname_case_function('description')].".".strlen($dro->data[$i][$fieldname_case_function('field2')])."\n");
                 }
             }
         }
@@ -49,7 +49,7 @@ else {
         print('update-query: dbx_query works ok'."\n");
         if ($dro=dbx_query($dlo, $sql_select_statement)) {
             for ($i=0; $i<$dro->rows; ++$i) {
-                print($dro->data[$i]['id'].".".$dro->data[$i]['description'].".".strlen($dro->data[$i]['field2'])."\n");
+                print($dro->data[$i][$fieldname_case_function('id')].".".$dro->data[$i][$fieldname_case_function('description')].".".strlen($dro->data[$i][$fieldname_case_function('field2')])."\n");
                 }
             }
         }
@@ -58,7 +58,7 @@ else {
         print('delete-query: dbx_query works ok'."\n");
         if ($dro=dbx_query($dlo, $sql_select_statement)) {
             for ($i=0; $i<$dro->rows; ++$i) {
-                print($dro->data[$i]['id'].".".$dro->data[$i]['description'].".".strlen($dro->data[$i]['field2'])."\n");
+                print($dro->data[$i][$fieldname_case_function('id')].".".$dro->data[$i][$fieldname_case_function('description')].".".strlen($dro->data[$i][$fieldname_case_function('field2')])."\n");
                 }
             }
         }
index 31db8383193cc453a5b14b8eb139a2bf89865caa..4d3f35310ffa83b8a9ce55e7f95fb6f379111d35 100644 (file)
@@ -13,8 +13,9 @@ dbx_error
 --FILE--
 <?php 
 include_once("dbx_test.p");
-if ($module==DBX_ODBC) {
+if ($module==DBX_ODBC || $module==DBX_OCI8) {
     // ODBC module doesn't have an error-message-function (yet?)
+    // OCI8 module needs the query-handle instead of the db-handle (now what?)
     print('query generated an error: dbx_error works ok'."\n");
     print('query is valid: dbx_error works ok'."\n");
     print('wrong dbx_link_object: dbx_error failure works ok'."\n");
index 534a792b87ab6328901308b4aa48e58d7a5378e1..2983db409b2366893f4a8ec179bcb1982d7db626 100644 (file)
@@ -22,8 +22,9 @@ function invalid_cmp() {
     return "blabla";
     }
 function cmp($a, $b) {
-    $rv = dbx_compare($a, $b, "description");
-    if (!$rv) $rv = dbx_compare($a, $b, "id");
+    $fieldname_case_function = $GLOBALS['fieldname_case_function'];
+    $rv = dbx_compare($a, $b, $fieldname_case_function("description"));
+    if (!$rv) $rv = dbx_compare($a, $b, $fieldname_case_function("id"));
     return $rv;
     }
 if (!$dlo) {
@@ -35,11 +36,11 @@ else {
         print('this won\'t work'."\n");
         }
     for ($i=0; $i<$dro->rows; ++$i) {
-        print($dro->data[$i]['id'].".".$dro->data[$i]['description']."\n");
+        print($dro->data[$i][$fieldname_case_function('id')].".".$dro->data[$i][$fieldname_case_function('description')]."\n");
         }
     if (dbx_sort($dro, $compare_function)) {
         for ($i=0; $i<$dro->rows; ++$i) {
-            print($dro->data[$i]['id'].".".$dro->data[$i]['description']."\n");
+            print($dro->data[$i][$fieldname_case_function('id')].".".$dro->data[$i][$fieldname_case_function('description')]."\n");
             }
         }
     if (!@dbx_sort(0, $compare_function)) {
index 8553671f20e2ed91911dc6096c436d7155dc4fd6..a750335d4e52c5b04e8a8716cb2a157a643635f3 100644 (file)
@@ -22,33 +22,39 @@ $compare_function_5 = "cmp_description_txt_id";
 $compare_function_6 = "cmp_description_number_id";
 $dlo = dbx_connect($module, $host, $database, $username, $password);
 function cmp_description_id($a, $b) {
-    $rv = dbx_compare($a, $b, "description");
-    if (!$rv) $rv = dbx_compare($a, $b, "id");
+    $fieldname_case_function = $GLOBALS['fieldname_case_function'];
+    $rv = dbx_compare($a, $b, $fieldname_case_function("description"));
+    if (!$rv) $rv = dbx_compare($a, $b, $fieldname_case_function("id"));
     return $rv;
     }
 function cmp_description_desc_id($a, $b) {
-    $rv = dbx_compare($a, $b, "description", DBX_CMP_DESC);
-    if (!$rv) $rv = dbx_compare($a, $b, "id");
+    $fieldname_case_function = $GLOBALS['fieldname_case_function'];
+    $rv = dbx_compare($a, $b, $fieldname_case_function("description"), DBX_CMP_DESC);
+    if (!$rv) $rv = dbx_compare($a, $b, $fieldname_case_function("id"));
     return $rv;
     }
 function cmp_description_id_desc($a, $b) {
-    $rv = dbx_compare($a, $b, "description");
-    if (!$rv) $rv = dbx_compare($a, $b, "id", DBX_CMP_DESC);
+    $fieldname_case_function = $GLOBALS['fieldname_case_function'];
+    $rv = dbx_compare($a, $b, $fieldname_case_function("description"));
+    if (!$rv) $rv = dbx_compare($a, $b, $fieldname_case_function("id"), DBX_CMP_DESC);
     return $rv;
     }
 function cmp_description_desc_id_desc($a, $b) {
-    $rv = dbx_compare($a, $b, "description", DBX_CMP_DESC);
-    if (!$rv) $rv = dbx_compare($a, $b, "id", DBX_CMP_DESC);
+    $fieldname_case_function = $GLOBALS['fieldname_case_function'];
+    $rv = dbx_compare($a, $b, $fieldname_case_function("description"), DBX_CMP_DESC);
+    if (!$rv) $rv = dbx_compare($a, $b, $fieldname_case_function("id"), DBX_CMP_DESC);
     return $rv;
     }
 function cmp_description_txt_id($a, $b) {
-    $rv = dbx_compare($a, $b, "description", DBX_CMP_TEXT);
-    if (!$rv) $rv = dbx_compare($a, $b, "id");
+    $fieldname_case_function = $GLOBALS['fieldname_case_function'];
+    $rv = dbx_compare($a, $b, $fieldname_case_function("description"), DBX_CMP_TEXT);
+    if (!$rv) $rv = dbx_compare($a, $b, $fieldname_case_function("id"));
     return $rv;
     }
 function cmp_description_number_id($a, $b) {
-    $rv = dbx_compare($a, $b, "description", DBX_CMP_NUMBER);
-    if (!$rv) $rv = dbx_compare($a, $b, "id");
+    $fieldname_case_function = $GLOBALS['fieldname_case_function'];
+    $rv = dbx_compare($a, $b, $fieldname_case_function("description"), DBX_CMP_NUMBER);
+    if (!$rv) $rv = dbx_compare($a, $b, $fieldname_case_function("id"));
     return $rv;
     }
 if (!$dlo) {
@@ -60,42 +66,42 @@ else {
         print('this won\'t work'."\n");
         }
     for ($i=0; $i<$dro->rows; ++$i) {
-        print($dro->data[$i]['id'].".".$dro->data[$i]['description']."\n");
+        print($dro->data[$i][$fieldname_case_function('id')].".".$dro->data[$i][$fieldname_case_function('description')]."\n");
         }
     if (dbx_sort($dro, $compare_function_1)) {
         for ($i=0; $i<$dro->rows; ++$i) {
-            print($dro->data[$i]['id'].".".$dro->data[$i]['description']."\n");
+            print($dro->data[$i][$fieldname_case_function('id')].".".$dro->data[$i][$fieldname_case_function('description')]."\n");
             }
         }
     if (dbx_sort($dro, $compare_function_2)) {
         for ($i=0; $i<$dro->rows; ++$i) {
-            print($dro->data[$i]['id'].".".$dro->data[$i]['description']."\n");
+            print($dro->data[$i][$fieldname_case_function('id')].".".$dro->data[$i][$fieldname_case_function('description')]."\n");
             }
         }
     if (dbx_sort($dro, $compare_function_3)) {
         for ($i=0; $i<$dro->rows; ++$i) {
-            print($dro->data[$i]['id'].".".$dro->data[$i]['description']."\n");
+            print($dro->data[$i][$fieldname_case_function('id')].".".$dro->data[$i][$fieldname_case_function('description')]."\n");
             }
         }
     if (dbx_sort($dro, $compare_function_4)) {
         for ($i=0; $i<$dro->rows; ++$i) {
-            print($dro->data[$i]['id'].".".$dro->data[$i]['description']."\n");
+            print($dro->data[$i][$fieldname_case_function('id')].".".$dro->data[$i][$fieldname_case_function('description')]."\n");
             }
         }
     if (dbx_sort($dro, $compare_function_5)) {
         for ($i=0; $i<$dro->rows; ++$i) {
-            print($dro->data[$i]['id'].".".$dro->data[$i]['description']."\n");
+            print($dro->data[$i][$fieldname_case_function('id')].".".$dro->data[$i][$fieldname_case_function('description')]."\n");
             }
         }
     if (dbx_sort($dro, $compare_function_6)) {
         for ($i=0; $i<$dro->rows; ++$i) {
-            print($dro->data[$i]['id'].".".$dro->data[$i]['description']."\n");
+            print($dro->data[$i][$fieldname_case_function('id')].".".$dro->data[$i][$fieldname_case_function('description')]."\n");
             }
         }
-    if (!@dbx_compare($a, $b, "fieldname")) {
+    if (!@dbx_compare($a, $b, $fieldname_case_function("fieldname"))) {
         print('wrong parameters: dbx_compare failure works ok'."\n");
         }
-    if (!@dbx_compare($a, $b, "fieldname", DBX_CMP_NATIVE, "12many")) {
+    if (!@dbx_compare($a, $b, $fieldname_case_function("fieldname"), DBX_CMP_NATIVE, "12many")) {
         print('too many parameters: dbx_compare failure works ok'."\n");
         }
     if (!@dbx_compare($a, $b)) {
index 67f2546b24ac56e6635f9ad4113280cea9172eee..f6cc9ee16ab7d24554e41f62eda970b60529ebec 100644 (file)
@@ -1,6 +1,8 @@
 <?php
 // set the $connection to match your test-database setup
 // (possibly change the rest of the settings too)
+// $fieldname_case_function was introduced for oci8, as oracle returns
+//    the fieldnames in uppercase
 // e.g. $connection = DBX_MYSQL;
 $connection = NULL;
 switch ($connection) {
@@ -11,6 +13,7 @@ switch ($connection) {
         $username="dbx_testuser";
         $password="dbx_testpassword";
         $module_name="mysql";
+        $fieldname_case_function="dbx_unchangedcase";
         break;
     case DBX_MSSQL:
         $module=DBX_MSSQL;
@@ -19,6 +22,7 @@ switch ($connection) {
         $username="";
         $password="";
         $module_name="mssql";
+        $fieldname_case_function="dbx_unchangedcase";
         break;
     case DBX_ODBC:
         $module=DBX_ODBC;
@@ -27,6 +31,7 @@ switch ($connection) {
         $username="dbx_testuser";
         $password="dbx_testpassword";
         $module_name="odbc";
+        $fieldname_case_function="dbx_unchangedcase";
         break;
     case DBX_PGSQL:
         $module=DBX_PGSQL;
@@ -35,6 +40,7 @@ switch ($connection) {
         $username="dbx_testuser";
         $password="dbx_testpassword";
         $module_name="pgsql";
+        $fieldname_case_function="dbx_unchangedcase";
         break;
     case DBX_FBSQL:
         $module=DBX_FBSQL;
@@ -43,6 +49,7 @@ switch ($connection) {
         $username="dbx_testuser";
         $password="dbx_testpassword";
         $module_name="fbsql";
+        $fieldname_case_function="dbx_unchangedcase";
         break;
     case DBX_OCI8:
         $module=DBX_OCI8;
@@ -51,6 +58,7 @@ switch ($connection) {
         $username="dbx_testuser";
         $password="dbx_testpassword";
         $module_name="oci8";
+        $fieldname_case_function="dbx_uppercase";
         break;
     case DBX_SYBASECT:
         $module=DBX_SYBASECT;
@@ -59,7 +67,15 @@ switch ($connection) {
         $username="dbx_testuser";
         $password="dbx_testpassword";
         $module_name="sybase_ct";
+        $fieldname_case_function="dbx_unchangedcase";
         break;
     }
 
+function dbx_uppercase($sz) {
+    return strtoupper($sz);
+    }
+function dbx_unchangedcase($sz) {
+    return $sz;
+    }
+
 ?>
\ No newline at end of file