2006-12-12 13:00:01 +00:00
|
|
|
<?php
|
|
|
|
|
2007-06-28 17:26:54 +00:00
|
|
|
/*
|
|
|
|
* Please change $user, $password and $dbase to match your configuration.
|
2008-01-31 01:33:30 +00:00
|
|
|
*
|
|
|
|
* Set $test_drcp to TRUE if you want to run the Oracle Database
|
|
|
|
* Resident Connection Pooling (DRCP) tests. For these tests to run
|
|
|
|
* successfully, you need a server and client which is Oracle 11g or
|
|
|
|
* greater, and $dbase should be set to the tnsnames.ora entry
|
|
|
|
* corresponding to the POOLED server instance or an Easy Connect
|
|
|
|
* string like hostname:port/service_name:POOLED
|
2007-06-28 17:26:54 +00:00
|
|
|
*/
|
2006-12-12 13:00:01 +00:00
|
|
|
|
2009-08-12 14:54:16 +00:00
|
|
|
if (file_exists(dirname(__FILE__)."/details_local.inc")) {
|
2011-06-10 19:16:35 +00:00
|
|
|
include(dirname(__FILE__)."/details_local.inc"); // this file is not part of the source distribution; make it your own local variant of details.inc
|
2007-06-28 17:26:54 +00:00
|
|
|
} else {
|
2011-06-10 19:16:35 +00:00
|
|
|
if (false !== getenv('PHP_OCI8_TEST_DB')) {
|
|
|
|
$user = getenv('PHP_OCI8_TEST_USER'); // Database username for tests
|
|
|
|
$password = getenv('PHP_OCI8_TEST_PASS'); // Password for $user
|
|
|
|
$dbase = getenv('PHP_OCI8_TEST_DB'); // Database connection string
|
|
|
|
$test_drcp = getenv('PHP_OCI8_TEST_DRCP');
|
|
|
|
if (false !== $test_drcp && 0 == strcasecmp($test_drcp,'TRUE')) {
|
|
|
|
$test_drcp = TRUE;
|
|
|
|
} else {
|
|
|
|
$test_drcp = FALSE;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
$user = "system";
|
|
|
|
$password = "oracle";
|
|
|
|
$dbase = "localhost/XE";
|
|
|
|
$test_drcp = FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Common object names for scripts to use
|
|
|
|
*/
|
|
|
|
|
|
|
|
$table_name = "tb".substr(str_replace(Array(".", "-"), "_", php_uname("n")), 0, 5);
|
|
|
|
$type_name = strtoupper("tp".substr(str_replace(Array(".", "-"), "_", php_uname("n")), 0, 5));
|
|
|
|
$schema = '';
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Used for creating/dropping schema objects used by a test
|
|
|
|
*/
|
|
|
|
|
|
|
|
function oci8_test_sql_execute($c, $stmtarray)
|
|
|
|
{
|
|
|
|
foreach ($stmtarray as $stmt) {
|
|
|
|
$s = oci_parse($c, $stmt);
|
|
|
|
if (!$s) {
|
|
|
|
$m = oci_error($c);
|
|
|
|
echo $stmt . PHP_EOL . $m['message'] . PHP_EOL;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
$r = @oci_execute($s);
|
|
|
|
if (!$r) {
|
|
|
|
$m = oci_error($s);
|
|
|
|
if (!in_array($m['code'], array( // ignore expected errors
|
|
|
|
942 // table or view does not exist
|
|
|
|
, 1918 // user does not exist
|
|
|
|
, 2024 // database link not found
|
|
|
|
, 2289 // sequence does not exist
|
|
|
|
, 4080 // trigger does not exist
|
|
|
|
, 38802 // edition does not exist
|
|
|
|
))) {
|
|
|
|
echo $stmt . PHP_EOL . $m['message'] . PHP_EOL;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2007-06-28 17:26:54 +00:00
|
|
|
}
|
2006-12-12 13:00:01 +00:00
|
|
|
|
|
|
|
?>
|