mirror of
https://github.com/php/php-src.git
synced 2024-10-03 07:46:12 +00:00
2769ae0444
oci_set_module_name oci_set_action oci_set_client_info oci_set_client_identifier These functions set values that are visible and used by the database. They aid tracing, authentication and auditing. 2. Introduce connection attribute function: oci_set_edition Oracle 11g R2 "editions" allow multiple versions of DB objects to exist at one time. By setting different editions, two different versions of an application can run concurrently, making upgrades or A/B testing easier. 3. Introduce OCI_NO_AUTO_COMMIT as an alias for the OCI_DEFAULT constant (which is not the default value) used by oci_execute(). 4. Allow the oci_set_prefetch value to be 0. This is important in some cases using REF CURSORS in Oracle 11gR2. 5. Set the DRIVER_NAME attribute of Oracle Database 11gR2 connections to aid application tracing. The value used is to "PHP OCI8" followed by the OCI8 version number. Note the version number may get truncated in DB views such as v$session_connect_info. 6. Generate an error if an invalid resource type is used in oci_bind_by_name [DOC] Documentation will be added for the changes
95 lines
2.9 KiB
PHP
95 lines
2.9 KiB
PHP
--TEST--
|
|
Set and get of connection attributes with oci_close().
|
|
--SKIPIF--
|
|
<?php if (!extension_loaded('oci8')) die("skip no oci8 extension");
|
|
require(dirname(__FILE__)."/connect.inc");
|
|
if (strcasecmp($user, "system") && strcasecmp($user, "sys")) die("skip needs to be run as a DBA user");
|
|
if ($test_drcp) die("skip output might vary with DRCP");
|
|
|
|
$sv = oci_server_version($c);
|
|
$sv = preg_match('/Release 1[012]\./', $sv, $matches);
|
|
if ($sv == 1) {
|
|
ob_start();
|
|
phpinfo(INFO_MODULES);
|
|
$phpinfo = ob_get_clean();
|
|
$iv = preg_match('/Oracle .*Version => 1[012]\./', $phpinfo);
|
|
if ($iv != 1) {
|
|
die ("skip test expected to work only with Oracle 10g or greater version of client");
|
|
}
|
|
}
|
|
else {
|
|
die ("skip test expected to work only with Oracle 10g or greater version of server");
|
|
}
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
require(dirname(__FILE__)."/conn_attr.inc");
|
|
|
|
echo"**Test Set and get values for the attributes with oci_close() ************\n";
|
|
// With oci_connect ,oci_pconnect ,oci_new_connect
|
|
|
|
var_dump($conn1 = get_conn(1)); //oci_connect()
|
|
set_attr($conn1,'ACTION',1);
|
|
get_attr($conn1,'ACTION');
|
|
oci_close($conn1);
|
|
|
|
// Open another connect and verify the value.
|
|
var_dump($conn1 = get_conn(1)); //oci_connect()
|
|
get_attr($conn1,'ACTION');
|
|
oci_close($conn1);
|
|
|
|
var_dump($pconn1 = get_conn(2)); //oci_pconnect()
|
|
set_attr($pconn1,'MODULE',2);
|
|
get_attr($pconn1,'MODULE');
|
|
oci_close($pconn1);
|
|
|
|
// Open another connect and verify the value.
|
|
var_dump($pconn1 = get_conn(2)); //oci_pconnect()
|
|
get_attr($pconn1,'MODULE');
|
|
oci_close($pconn1);
|
|
|
|
var_dump($nconn1 = get_conn(3)); //oci_new_connect()
|
|
set_attr($nconn1,'CLIENT_INFO',3);
|
|
set_attr($nconn1,'CLIENT_IDENTIFIER',3);
|
|
get_attr($nconn1,'CLIENT_INFO');
|
|
get_attr($nconn1,'CLIENT_IDENTIFIER');
|
|
oci_close($nconn1);
|
|
|
|
// Open another connect and verify the value.
|
|
var_dump($nconn1 = get_conn(3)); //oci_new_connect()
|
|
get_attr($nconn1,'CLIENT_INFO');
|
|
get_attr($nconn1,'CLIENT_IDENTIFIER');
|
|
oci_close($nconn1);
|
|
|
|
clean_up($c);
|
|
echo "Done\n";
|
|
|
|
?>
|
|
--EXPECTF--
|
|
**Test Set and get values for the attributes with oci_close() ************
|
|
Testing with oci_connect()
|
|
resource(%d) of type (oci8 connection)
|
|
Value of ACTION has been set successfully
|
|
The value of ACTION is TASK1
|
|
Testing with oci_connect()
|
|
resource(%d) of type (oci8 connection)
|
|
The value of ACTION is
|
|
Testing with oci_pconnect()
|
|
resource(%d) of type (oci8 persistent connection)
|
|
Value of MODULE has been set successfully
|
|
The value of MODULE is PHP TEST2
|
|
Testing with oci_pconnect()
|
|
resource(%d) of type (oci8 persistent connection)
|
|
The value of MODULE is PHP TEST2
|
|
Testing with oci_new_connect()
|
|
resource(%d) of type (oci8 connection)
|
|
Value of CLIENT_INFO has been set successfully
|
|
Value of CLIENT_IDENTIFIER has been set successfully
|
|
The value of CLIENT_INFO is INFO13
|
|
The value of CLIENT_IDENTIFIER is ID003
|
|
Testing with oci_new_connect()
|
|
resource(%d) of type (oci8 connection)
|
|
The value of CLIENT_INFO is
|
|
The value of CLIENT_IDENTIFIER is
|
|
Done
|