Annotation of embedaddon/php/ext/oci8/tests/edition_2.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Set and check Oracle 11gR2 "edition" attribute
! 3: --SKIPIF--
! 4: <?php
! 5: if (!extension_loaded('oci8')) die("skip no oci8 extension");
! 6: require(dirname(__FILE__)."/connect.inc");
! 7: if (strcasecmp($user, "system") && strcasecmp($user, "sys"))
! 8: die("skip needs to be run as a DBA user");
! 9: if ($test_drcp)
! 10: die("skip as Output might vary with DRCP");
! 11:
! 12: if (preg_match('/Release (1[1]\.2|12)\./', oci_server_version($c), $matches) !== 1) {
! 13: die("skip expected output only valid when using Oracle 11gR2 or greater databases");
! 14: } else if (preg_match('/^(11\.2|12)\./', oci_client_version()) != 1) {
! 15: die("skip test expected to work only with Oracle 11gR2 or greater version of client");
! 16: }
! 17:
! 18: ?>
! 19: --FILE--
! 20: <?php
! 21:
! 22: /* In 11.2, there can only be one child edition. So this test will
! 23: * fail to create the necessary editions if a child edition exists
! 24: * already
! 25: */
! 26:
! 27: require(dirname(__FILE__)."/conn_attr.inc");
! 28:
! 29: $user = 'testuser';
! 30: $password = 'testuser';
! 31:
! 32: echo"**Test 1.1 - Default value for the attribute **************\n";
! 33: get_edit_attr($c);
! 34:
! 35: echo"\n\n**Test 1.2 - Set a value and get the same with different connections *********\n";
! 36: set_edit_attr('MYEDITION');
! 37:
! 38: // With oci_connect, oci_pconnect, oci_new_connect
! 39: $conn1 = get_conn(1);
! 40: get_edit_attr($conn1);
! 41:
! 42: //pconnect
! 43: $conn2 = get_conn(2);
! 44: get_edit_attr($conn2);
! 45:
! 46: //new_connect
! 47: $conn3 = get_conn(3);
! 48: get_edit_attr($conn3);
! 49:
! 50: oci_close($conn1);
! 51:
! 52: // With a oci_pconnect with a different charset.
! 53: $pc1 = oci_pconnect($user,$password,$dbase,"utf8");
! 54: get_edit_attr($pc1);
! 55: oci_close($pc1);
! 56:
! 57:
! 58: echo"\n\n**Test 1.3 change the value and verify with existing conenctions.*********\n";
! 59: set_edit_attr('MYEDITION1');
! 60: get_edit_attr($conn2);
! 61: get_edit_attr($conn3); // Old value
! 62: oci_close($conn2);
! 63: oci_close($conn3);
! 64:
! 65: //open a new connection and get the edition value . This will have the updated value.
! 66: $c3 = get_conn(3); //oci_new_connect()
! 67: get_edit_attr($c3);
! 68:
! 69: $c4 = get_conn(2); //oci_pconnect()
! 70: get_edit_attr($c4);
! 71:
! 72: $c5 = get_conn(1); //oci_connect()
! 73: get_edit_attr($c5);
! 74:
! 75: oci_close($c3);
! 76: oci_close($c4);
! 77: oci_close($c5);
! 78:
! 79: echo "\n\n**Test 1.4 - with different type of values *********\n";
! 80: $values_array = array(123,NULL,'NO EDITION','edition name which has more than thirty chars!!!edition name which has more than thirty chars!!!');
! 81: foreach ($values_array as $val ) {
! 82: set_edit_attr($val);
! 83: $c1 = get_conn(1); //oci_connect()
! 84: if ($c1) {
! 85: get_edit_attr($c1);
! 86: oci_close($c1);
! 87: }
! 88: }
! 89:
! 90: echo "\n\n**Test 1.5 - Negative case with an invalid string value. *********\n";
! 91: $c1 = get_conn(3);
! 92: $r = set_edit_attr($c1);
! 93:
! 94: echo"\n\n**Test 1.6 - Set Multiple times.*****\n";
! 95: set_edit_attr('MYEDITION');
! 96: set_edit_attr('MYEDITION1');
! 97: $c1 = get_conn(1);
! 98: get_edit_attr($c1);
! 99: oci_close($c1);
! 100:
! 101: echo "\n\n**Test 1.7 - Test with ALTER SESSION statement to change the edition *******\n";
! 102: // Set the edition value to MYEDITION. open a conn .get the value.
! 103: // execute the alter system set edition ='MYEDITION' .get the value .
! 104: // set it back to MYEDITION using oci_set_edition. and get the value.
! 105:
! 106: set_edit_attr('MYEDITION');
! 107: $c1 = get_conn(3);
! 108: echo "get the value set to MYEDITION with oci_set_edition \n";
! 109: get_edit_attr($c1);
! 110:
! 111: $alter_stmt = "alter session set edition = MYEDITION1";
! 112: $s = oci_parse($c1,$alter_stmt);
! 113: oci_execute($s);
! 114: oci_commit($c1);
! 115: echo "Get the value set to MYEDITION1 with alter session\n";
! 116: get_edit_attr($c1);
! 117:
! 118: echo " Get the value with a new connection \n";
! 119: $c2 = get_conn(1);
! 120: get_edit_attr($c2);
! 121:
! 122: echo " Set the value back using oci-set_edition\n";
! 123: set_edit_attr('MYEDITION');
! 124: get_edit_attr($c2);
! 125:
! 126: echo " Get the value with a new conenction \n";
! 127: $c3 = get_conn(1);
! 128: get_edit_attr($c3);
! 129:
! 130: oci_close($c1);
! 131: oci_close($c2);
! 132: oci_close($c3);
! 133:
! 134:
! 135: echo "\n\n**Test 1.8 - Test setting the attribute with scope ends*******\n";
! 136: set_scope();
! 137: get_scope();
! 138:
! 139: clean_up($c);
! 140: echo "Done\n";
! 141:
! 142:
! 143: function set_scope() {
! 144: $r = set_edit_attr('MYEDITION1');
! 145: }
! 146:
! 147: function get_scope() {
! 148: $sc1 = oci_connect($GLOBALS['user'],$GLOBALS['password'],$GLOBALS['dbase']);
! 149: if ($sc1 === false) {
! 150: $m = oci_error();
! 151: die("Error:" . $m['message']);
! 152: }
! 153: get_edit_attr($sc1);
! 154: oci_close($sc1);
! 155: }
! 156: ?>
! 157: --EXPECTF--
! 158: **Test 1.1 - Default value for the attribute **************
! 159: The value of current EDITION is ORA$BASE
! 160:
! 161:
! 162: **Test 1.2 - Set a value and get the same with different connections *********
! 163: The value of edition has been successfully set
! 164: Testing with oci_connect()
! 165: The value of current EDITION is MYEDITION
! 166: Testing with oci_pconnect()
! 167: The value of current EDITION is MYEDITION
! 168: Testing with oci_new_connect()
! 169: The value of current EDITION is MYEDITION
! 170: The value of current EDITION is MYEDITION
! 171:
! 172:
! 173: **Test 1.3 change the value and verify with existing conenctions.*********
! 174: The value of edition has been successfully set
! 175: The value of current EDITION is MYEDITION
! 176: The value of current EDITION is MYEDITION
! 177: Testing with oci_new_connect()
! 178: The value of current EDITION is MYEDITION1
! 179: Testing with oci_pconnect()
! 180: The value of current EDITION is MYEDITION1
! 181: Testing with oci_connect()
! 182: The value of current EDITION is MYEDITION1
! 183:
! 184:
! 185: **Test 1.4 - with different type of values *********
! 186: The value of edition has been successfully set
! 187: Testing with oci_connect()
! 188:
! 189: Warning: oci_connect(): ORA-38801: %s ORA_EDITION in %s on line %d
! 190: The value of edition has been successfully set
! 191: Testing with oci_connect()
! 192: The value of current EDITION is ORA$BASE
! 193: The value of edition has been successfully set
! 194: Testing with oci_connect()
! 195:
! 196: Warning: oci_connect(): ORA-38801: %s ORA_EDITION in %s on line %d
! 197: The value of edition has been successfully set
! 198: Testing with oci_connect()
! 199:
! 200: Warning: oci_connect(): ORA-38801: %s ORA_EDITION in %s on line %d
! 201:
! 202:
! 203: **Test 1.5 - Negative case with an invalid string value. *********
! 204: Testing with oci_new_connect()
! 205:
! 206: Warning: oci_new_connect(): ORA-38801: %s ORA_EDITION in %s on line %d
! 207: The value of edition has been successfully set
! 208:
! 209:
! 210: **Test 1.6 - Set Multiple times.*****
! 211: The value of edition has been successfully set
! 212: The value of edition has been successfully set
! 213: Testing with oci_connect()
! 214: The value of current EDITION is MYEDITION1
! 215:
! 216:
! 217: **Test 1.7 - Test with ALTER SESSION statement to change the edition *******
! 218: The value of edition has been successfully set
! 219: Testing with oci_new_connect()
! 220: get the value set to MYEDITION with oci_set_edition
! 221: The value of current EDITION is MYEDITION
! 222: Get the value set to MYEDITION1 with alter session
! 223: The value of current EDITION is MYEDITION1
! 224: Get the value with a new connection
! 225: Testing with oci_connect()
! 226: The value of current EDITION is MYEDITION
! 227: Set the value back using oci-set_edition
! 228: The value of edition has been successfully set
! 229: The value of current EDITION is MYEDITION
! 230: Get the value with a new conenction
! 231: Testing with oci_connect()
! 232: The value of current EDITION is MYEDITION
! 233:
! 234:
! 235: **Test 1.8 - Test setting the attribute with scope ends*******
! 236: The value of edition has been successfully set
! 237: The value of current EDITION is MYEDITION1
! 238: Done
! 239:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>