summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Boeren <mboeren@php.net>2002-10-23 10:45:29 +0000
committerMarc Boeren <mboeren@php.net>2002-10-23 10:45:29 +0000
commit1b50e476482cfa6a38aed8b5a1eb6913c78c3cb6 (patch)
tree8a9a3c2c1acfef19d42de46a4b49f54a257f5c9c
parentd554b8d3ab05472e679968185d96d268af9f394a (diff)
downloadphp-git-1b50e476482cfa6a38aed8b5a1eb6913c78c3cb6.tar.gz
Updated tests for Oracle (oci8) support (Mc)
-rw-r--r--ext/dbx/tests/004.phpt13
-rw-r--r--ext/dbx/tests/005.phpt10
-rw-r--r--ext/dbx/tests/006.phpt3
-rw-r--r--ext/dbx/tests/007.phpt9
-rw-r--r--ext/dbx/tests/008.phpt48
-rw-r--r--ext/dbx/tests/dbx_test.p16
6 files changed, 64 insertions, 35 deletions
diff --git a/ext/dbx/tests/004.phpt b/ext/dbx/tests/004.phpt
index 54b6887a7f..87f3e185e7 100644
--- a/ext/dbx/tests/004.phpt
+++ b/ext/dbx/tests/004.phpt
@@ -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");
}
diff --git a/ext/dbx/tests/005.phpt b/ext/dbx/tests/005.phpt
index 993d9a9ada..6c78e7717c 100644
--- a/ext/dbx/tests/005.phpt
+++ b/ext/dbx/tests/005.phpt
@@ -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");
}
}
}
diff --git a/ext/dbx/tests/006.phpt b/ext/dbx/tests/006.phpt
index 31db838319..4d3f35310f 100644
--- a/ext/dbx/tests/006.phpt
+++ b/ext/dbx/tests/006.phpt
@@ -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");
diff --git a/ext/dbx/tests/007.phpt b/ext/dbx/tests/007.phpt
index 534a792b87..2983db409b 100644
--- a/ext/dbx/tests/007.phpt
+++ b/ext/dbx/tests/007.phpt
@@ -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)) {
diff --git a/ext/dbx/tests/008.phpt b/ext/dbx/tests/008.phpt
index 8553671f20..a750335d4e 100644
--- a/ext/dbx/tests/008.phpt
+++ b/ext/dbx/tests/008.phpt
@@ -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)) {
diff --git a/ext/dbx/tests/dbx_test.p b/ext/dbx/tests/dbx_test.p
index 67f2546b24..f6cc9ee16a 100644
--- a/ext/dbx/tests/dbx_test.p
+++ b/ext/dbx/tests/dbx_test.p
@@ -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