File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / oci8 / tests / conn_attr_2.phpt
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:47:58 2012 UTC (12 years, 5 months ago) by misho
Branches: php, MAIN
CVS tags: v5_4_3elwix, v5_4_29p0, v5_4_29, v5_4_20p0, v5_4_20, v5_4_17p0, v5_4_17, v5_3_10, HEAD
php

--TEST--
Set and get of connection attributes across persistent connections and sysdba connection.
--SKIPIF--
<?php 
$target_dbs = array('oracledb' => true, 'timesten' => false);  // test runs on these DBs
require(dirname(__FILE__).'/skipif.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");

if (preg_match('/Release 1[01]\./', oci_server_version($c), $matches) !== 1) {
	die("skip expected output only valid when using Oracle 10g or greater database server");
} else if (preg_match('/^1[01]\./', oci_client_version()) != 1) {
    die("skip test expected to work only with Oracle 10g or greater version of client");
}

?>
--INI--
oci8.privileged_connect = On
--FILE--

<?php
require(dirname(__FILE__)."/conn_attr.inc");
$user='testuser';
$password='testuser';
$attr_array = array('MODULE','ACTION','CLIENT_INFO','CLIENT_IDENTIFIER');

echo"**Set values using pconnect-1**\n";

var_dump($pc1 = oci_pconnect($user,$password,$dbase));
foreach($attr_array as $attr) {
	set_attr($pc1,$attr,100);
}

//  using pc1 again
echo"\n**Get values using pconnect-2**\n";
var_dump($pc3 = oci_pconnect($user,$password,$dbase));
foreach($attr_array as $attr) {
	get_attr($pc3,$attr);
}

// Get with different pconnect
echo"\n**Get values using pconnect-3**\n";
var_dump($pc2 = oci_pconnect($user,$password,$dbase,'UTF8'));
foreach($attr_array as $attr) {
	get_attr($pc2,$attr);
}

oci_close($pc1);
oci_close($pc2);
oci_close($pc3);

// Re-open a persistent connection and check for the attr values.
echo "\n**Re-open a pconnect()**\n";
var_dump($pc4 = oci_pconnect($user,$password,$dbase));
foreach($attr_array as $attr) {
	get_attr($pc4,$attr);
}
oci_close($pc4);

// Test with SYSDBA connection.
var_dump($sys_c1 = oci_pconnect($user,$password,$dbase,false,OCI_SYSDBA));
if ($sys_c1) {
	set_attr($sys_c1,'ACTION',10);
	get_sys_attr($sys_c1,'ACTION');
	get_attr($pc2,'ACTION');
	oci_close($sys_c1);
}

clean_up($c);

echo "Done\n";
?>
--EXPECTF--
**Set values using pconnect-1**
resource(%d) of type (oci8 persistent connection)
Value of MODULE has been set successfully
Value of ACTION has been set successfully
Value of CLIENT_INFO has been set successfully
Value of CLIENT_IDENTIFIER has been set successfully

**Get values using pconnect-2**
resource(%d) of type (oci8 persistent connection)
The value of MODULE is PHP TEST100
The value of ACTION is TASK100
The value of CLIENT_INFO is INFO1100
The value of CLIENT_IDENTIFIER is ID00100

**Get values using pconnect-3**
resource(%d) of type (oci8 persistent connection)
The value of MODULE is %s
The value of ACTION is 
The value of CLIENT_INFO is 
The value of CLIENT_IDENTIFIER is 

**Re-open a pconnect()**
resource(%d) of type (oci8 persistent connection)
The value of MODULE is PHP TEST100
The value of ACTION is TASK100
The value of CLIENT_INFO is INFO1100
The value of CLIENT_IDENTIFIER is ID00100

Warning: oci_pconnect(): ORA-01031: %s on line %d
bool(false)
Done

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>