php-src/ext/dbx/tests/008.phpt
Marc Boeren b5783184ea Not happy with the hack to handle the uppercase fieldnames that oracle
returns. Changed the dbx_oci8 behaviour to return lowercase instead,
which is also a hack but at least it makes it much easier for users
to create portable apps (Mc).
# also, I prefer lowercase :-)
2002-10-24 14:16:28 +00:00

152 lines
4.0 KiB
PHP

--TEST--
dbx_compare
--SKIPIF--
<?php
if (!extension_loaded("dbx")) print("skip");
else {
include_once("dbx_test.p");
if ($connection===NULL) print("skip");
}
?>
--POST--
--GET--
--FILE--
<?php
include_once("dbx_test.p");
$sql_statement = "select id, description from tbl where parentid=1 order by id";
$compare_function_1 = "cmp_description_id";
$compare_function_2 = "cmp_description_desc_id";
$compare_function_3 = "cmp_description_id_desc";
$compare_function_4 = "cmp_description_desc_id_desc";
$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");
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");
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);
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);
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");
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");
return $rv;
}
if (!$dlo) {
print('this won\'t work'."\n");
}
else {
$dro = dbx_query($dlo, $sql_statement);
if (!$dro) {
print('this won\'t work'."\n");
}
for ($i=0; $i<$dro->rows; ++$i) {
print($dro->data[$i]['id'].".".$dro->data[$i]['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");
}
}
if (dbx_sort($dro, $compare_function_2)) {
for ($i=0; $i<$dro->rows; ++$i) {
print($dro->data[$i]['id'].".".$dro->data[$i]['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");
}
}
if (dbx_sort($dro, $compare_function_4)) {
for ($i=0; $i<$dro->rows; ++$i) {
print($dro->data[$i]['id'].".".$dro->data[$i]['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");
}
}
if (dbx_sort($dro, $compare_function_6)) {
for ($i=0; $i<$dro->rows; ++$i) {
print($dro->data[$i]['id'].".".$dro->data[$i]['description']."\n");
}
}
if (!@dbx_compare($a, $b, "fieldname")) {
print('wrong parameters: dbx_compare failure works ok'."\n");
}
if (!@dbx_compare($a, $b, "fieldname", DBX_CMP_NATIVE, "12many")) {
print('too many parameters: dbx_compare failure works ok'."\n");
}
if (!@dbx_compare($a, $b)) {
print('too few parameters: dbx_compare failure works ok'."\n");
}
dbx_close($dlo);
}
?>
--EXPECT--
10.abc
20.cba
30.bac
40.100
50.20
60.20
40.100
50.20
60.20
10.abc
30.bac
20.cba
20.cba
30.bac
10.abc
50.20
60.20
40.100
40.100
60.20
50.20
10.abc
30.bac
20.cba
20.cba
30.bac
10.abc
60.20
50.20
40.100
40.100
50.20
60.20
10.abc
30.bac
20.cba
10.0
20.0
30.0
50.20
60.20
40.100
wrong parameters: dbx_compare failure works ok
too many parameters: dbx_compare failure works ok
too few parameters: dbx_compare failure works ok