Annotation of embedaddon/php/ext/oci8/tests/edition_2.phpt, revision 1.1.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>