Annotation of embedaddon/php/ext/oci8/tests/bug51291_1.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Bug #51291 (oci_error() doesn't report last error when called two times)
3: --SKIPIF--
4: <?php if (!extension_loaded('oci8')) die ("skip no oci8 extension"); ?>
5: --FILE--
6: <?php
7:
8: require(dirname(__FILE__).'/connect.inc');
9:
10: echo "Test 1 - Parse\n";
11:
12: $s = @oci_parse($c, "select ' from dual");
13: if (!$s) {
14: var_dump(oci_error($c));
15: echo "2nd call\n";
16: var_dump(oci_error($c));
17: }
18:
19: echo "\nTest 2 - Parse\n";
20:
21: $s = @oci_parse($c, "select ' from dual");
22: if (!$s) {
23: var_dump(oci_error(), oci_error($c), oci_error($s));
24: echo "2nd call\n";
25: var_dump(oci_error(), oci_error($c), oci_error($s));
26: }
27:
28: echo "\nTest 3 - Execute\n";
29:
30: $s = @oci_parse($c, 'select doesnotexist from dual');
31: $r = @oci_execute($s, OCI_DEFAULT);
32: if (!$r) {
33: var_dump(oci_error($s));
34: echo "2nd call\n";
35: var_dump(oci_error($s));
36: }
37:
38: echo "\nTest 4 - Execute - consecutive oci_error calls of different kinds\n";
39:
40: $s = @oci_parse($c, 'select doesnotexist from dual');
41: $r = @oci_execute($s, OCI_DEFAULT);
42: if (!$r) {
43: var_dump(oci_error(), oci_error($c), oci_error($s));
44: echo "2nd call\n";
45: var_dump(oci_error(), oci_error($c), oci_error($s));
46: }
47:
48:
49: echo "\nTest 5 - Execute - after oci_rollback\n";
50:
51: $s = @oci_parse($c, 'select doesnotexist from dual');
52: $r = @oci_execute($s, OCI_DEFAULT);
53: if (!$r) {
54: var_dump(oci_error(), oci_error($c), oci_error($s));
55: $r = oci_rollback($c);
56: echo "Rollback status is ";
57: if (is_null($r)) echo "null";
58: else if ($r === false) echo "false";
59: else if ($r === true) echo "true";
60: else echo $r;
61: echo "\n";
62: echo "2nd call after oci_rollback\n";
63: var_dump(oci_error(), oci_error($c), oci_error($s));
64: }
65:
66:
67: echo "\nTest 6 - Execute - after successful 2nd query with new handle\n";
68:
69: $s = @oci_parse($c, 'select doesnotexist from dual');
70: $r = @oci_execute($s, OCI_DEFAULT);
71: if (!$r) {
72: var_dump(oci_error(), oci_error($c), oci_error($s));
73: $s2 = oci_parse($c, 'select 1 from dual');
74: $r = oci_execute($s2, OCI_DEFAULT);
75: echo "Execute status is ";
76: if (is_null($r)) echo "null";
77: else if ($r === false) echo "false";
78: else if ($r === true) echo "true";
79: else echo $r;
80: echo "\n";
81: echo "2nd call after successful execute\n";
82: var_dump(oci_error(), oci_error($c), oci_error($s), oci_error($s2));
83: }
84:
85:
86: echo "\nTest 7 - Execute - after successful 2nd query with same handle\n";
87:
88: $s = @oci_parse($c, 'select doesnotexist from dual');
89: $r = @oci_execute($s, OCI_DEFAULT);
90: if (!$r) {
91: var_dump(oci_error(), oci_error($c), oci_error($s));
92: $s = oci_parse($c, 'select 1 from dual');
93: $r = oci_execute($s, OCI_DEFAULT);
94: echo "Execute status is ";
95: if (is_null($r)) echo "null";
96: else if ($r === false) echo "false";
97: else if ($r === true) echo "true";
98: else echo $r;
99: echo "\n";
100: echo "2nd call after successful execute\n";
101: var_dump(oci_error(), oci_error($c), oci_error($s));
102: }
103:
104:
105: echo "\nTest 8 - Execute - after unsuccessful 2nd query with new handle\n";
106:
107: $s = @oci_parse($c, 'select doesnotexist from dual');
108: $r = @oci_execute($s, OCI_DEFAULT);
109: if (!$r) {
110: var_dump(oci_error(), oci_error($c), oci_error($s));
111: $s2 = oci_parse($c, 'select reallynothere from dual');
112: $r = oci_execute($s2, OCI_DEFAULT);
113: echo "Execute status is ";
114: if (is_null($r)) echo "null";
115: else if ($r === false) echo "false";
116: else if ($r === true) echo "true";
117: else echo $r;
118: echo "\n";
119: echo "2nd call after unsuccessful execute\n";
120: var_dump(oci_error(), oci_error($c), oci_error($s), oci_error($s2));
121: }
122:
123: echo "\nTest 9 - Execute - after unsuccessful 2nd query with same handle\n";
124:
125: $s = @oci_parse($c, 'select doesnotexist from dual');
126: $r = @oci_execute($s, OCI_DEFAULT);
127: if (!$r) {
128: var_dump(oci_error(), oci_error($c), oci_error($s));
129: $s = oci_parse($c, 'select reallynothere from dual');
130: $r = oci_execute($s, OCI_DEFAULT);
131: echo "Execute status is ";
132: if (is_null($r)) echo "null";
133: else if ($r === false) echo "false";
134: else if ($r === true) echo "true";
135: else echo $r;
136: echo "\n";
137: echo "2nd call after unsuccessful execute\n";
138: var_dump(oci_error(), oci_error($c), oci_error($s));
139: }
140:
141: ?>
142: ===DONE===
143: <?php exit(0); ?>
144: --EXPECTF--
145: Test 1 - Parse
146: array(4) {
147: ["code"]=>
148: int(1756)
149: ["message"]=>
150: string(48) "ORA-01756: %s"
151: ["offset"]=>
152: int(0)
153: ["sqltext"]=>
154: string(0) ""
155: }
156: 2nd call
157: array(4) {
158: ["code"]=>
159: int(1756)
160: ["message"]=>
161: string(48) "ORA-01756: %s"
162: ["offset"]=>
163: int(0)
164: ["sqltext"]=>
165: string(0) ""
166: }
167:
168: Test 2 - Parse
169:
170: Warning: oci_error() expects parameter 1 to be resource, boolean given in %sbug51291_1.php on line %d
171: bool(false)
172: array(4) {
173: ["code"]=>
174: int(1756)
175: ["message"]=>
176: string(48) "ORA-01756: %s"
177: ["offset"]=>
178: int(0)
179: ["sqltext"]=>
180: string(0) ""
181: }
182: NULL
183: 2nd call
184:
185: Warning: oci_error() expects parameter 1 to be resource, boolean given in %sbug51291_1.php on line %d
186: bool(false)
187: array(4) {
188: ["code"]=>
189: int(1756)
190: ["message"]=>
191: string(48) "ORA-01756: %s"
192: ["offset"]=>
193: int(0)
194: ["sqltext"]=>
195: string(0) ""
196: }
197: NULL
198:
199: Test 3 - Execute
200: array(4) {
201: ["code"]=>
202: int(904)
203: ["message"]=>
204: string(%d) "ORA-00904:%sDOESNOTEXIST%s"
205: ["offset"]=>
206: int(%d)
207: ["sqltext"]=>
208: string(29) "select doesnotexist from dual"
209: }
210: 2nd call
211: array(4) {
212: ["code"]=>
213: int(904)
214: ["message"]=>
215: string(%d) "ORA-00904:%sDOESNOTEXIST%s"
216: ["offset"]=>
217: int(%d)
218: ["sqltext"]=>
219: string(29) "select doesnotexist from dual"
220: }
221:
222: Test 4 - Execute - consecutive oci_error calls of different kinds
223: bool(false)
224: bool(false)
225: array(4) {
226: ["code"]=>
227: int(904)
228: ["message"]=>
229: string(%d) "ORA-00904:%sDOESNOTEXIST%s"
230: ["offset"]=>
231: int(%d)
232: ["sqltext"]=>
233: string(29) "select doesnotexist from dual"
234: }
235: 2nd call
236: bool(false)
237: bool(false)
238: array(4) {
239: ["code"]=>
240: int(904)
241: ["message"]=>
242: string(%d) "ORA-00904:%sDOESNOTEXIST%s"
243: ["offset"]=>
244: int(%d)
245: ["sqltext"]=>
246: string(29) "select doesnotexist from dual"
247: }
248:
249: Test 5 - Execute - after oci_rollback
250: bool(false)
251: bool(false)
252: array(4) {
253: ["code"]=>
254: int(904)
255: ["message"]=>
256: string(%d) "ORA-00904:%sDOESNOTEXIST%s"
257: ["offset"]=>
258: int(%d)
259: ["sqltext"]=>
260: string(29) "select doesnotexist from dual"
261: }
262: Rollback status is true
263: 2nd call after oci_rollback
264: bool(false)
265: bool(false)
266: array(4) {
267: ["code"]=>
268: int(904)
269: ["message"]=>
270: string(%d) "ORA-00904:%sDOESNOTEXIST%s"
271: ["offset"]=>
272: int(%d)
273: ["sqltext"]=>
274: string(29) "select doesnotexist from dual"
275: }
276:
277: Test 6 - Execute - after successful 2nd query with new handle
278: bool(false)
279: bool(false)
280: array(4) {
281: ["code"]=>
282: int(904)
283: ["message"]=>
284: string(%d) "ORA-00904:%sDOESNOTEXIST%s"
285: ["offset"]=>
286: int(%d)
287: ["sqltext"]=>
288: string(29) "select doesnotexist from dual"
289: }
290: Execute status is true
291: 2nd call after successful execute
292: bool(false)
293: bool(false)
294: array(4) {
295: ["code"]=>
296: int(904)
297: ["message"]=>
298: string(%d) "ORA-00904:%sDOESNOTEXIST%s"
299: ["offset"]=>
300: int(%d)
301: ["sqltext"]=>
302: string(29) "select doesnotexist from dual"
303: }
304: bool(false)
305:
306: Test 7 - Execute - after successful 2nd query with same handle
307: bool(false)
308: bool(false)
309: array(4) {
310: ["code"]=>
311: int(904)
312: ["message"]=>
313: string(%d) "ORA-00904:%sDOESNOTEXIST%s"
314: ["offset"]=>
315: int(%d)
316: ["sqltext"]=>
317: string(29) "select doesnotexist from dual"
318: }
319: Execute status is true
320: 2nd call after successful execute
321: bool(false)
322: bool(false)
323: bool(false)
324:
325: Test 8 - Execute - after unsuccessful 2nd query with new handle
326: bool(false)
327: bool(false)
328: array(4) {
329: ["code"]=>
330: int(904)
331: ["message"]=>
332: string(%d) "ORA-00904:%sDOESNOTEXIST%s"
333: ["offset"]=>
334: int(%d)
335: ["sqltext"]=>
336: string(29) "select doesnotexist from dual"
337: }
338:
339: Warning: oci_execute(): ORA-00904: %sREALLYNOTHERE%s in %sbug51291_1.php on line %d
340: Execute status is false
341: 2nd call after unsuccessful execute
342: bool(false)
343: bool(false)
344: array(4) {
345: ["code"]=>
346: int(904)
347: ["message"]=>
348: string(%d) "ORA-00904:%sDOESNOTEXIST%s"
349: ["offset"]=>
350: int(%d)
351: ["sqltext"]=>
352: string(29) "select doesnotexist from dual"
353: }
354: array(4) {
355: ["code"]=>
356: int(904)
357: ["message"]=>
358: string(%d) "ORA-00904%sREALLYNOTHERE%s"
359: ["offset"]=>
360: int(%d)
361: ["sqltext"]=>
362: string(30) "select reallynothere from dual"
363: }
364:
365: Test 9 - Execute - after unsuccessful 2nd query with same handle
366: bool(false)
367: bool(false)
368: array(4) {
369: ["code"]=>
370: int(904)
371: ["message"]=>
372: string(%d) "ORA-00904:%sDOESNOTEXIST%s"
373: ["offset"]=>
374: int(%d)
375: ["sqltext"]=>
376: string(29) "select doesnotexist from dual"
377: }
378:
379: Warning: oci_execute(): ORA-00904: %sREALLYNOTHERE%s in %sbug51291_1.php on line %d
380: Execute status is false
381: 2nd call after unsuccessful execute
382: bool(false)
383: bool(false)
384: array(4) {
385: ["code"]=>
386: int(904)
387: ["message"]=>
388: string(%d) "ORA-00904%sREALLYNOTHERE%s"
389: ["offset"]=>
390: int(%d)
391: ["sqltext"]=>
392: string(30) "select reallynothere from dual"
393: }
394: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>