Annotation of embedaddon/php/ext/oci8/tests/bug27303_1.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Bug #27303 (OCIBindByName binds numeric PHP values as characters)
3: --SKIPIF--
4: <?php
5: if (!extension_loaded('oci8')) die ("skip no oci8 extension");
6: require(dirname(__FILE__)."/connect.inc");
7: // The bind buffer size edge cases seem to change each DB version.
8: if (preg_match('/Release 10\.2\.0\.2/', oci_server_version($c), $matches) !== 1 &&
9: preg_match('/Release 11\.2\.0\.2/', oci_server_version($c), $matches) !== 1) {
10: die("skip expected output only valid when using Oracle 10.2.0.2 or 11.2.0.2 databases");
11: // Other point releases may also work
12: }
13: if (preg_match('/^11\./', oci_client_version()) != 1) {
14: die("skip test expected to work only with Oracle 11g or greater version of client");
15: }
16: ?>
17: --ENV--
18: NLS_LANG=
19: --FILE--
20: <?php
21:
22: require(dirname(__FILE__).'/connect.inc');
23:
24: $stmtarray = array(
25: "drop sequence myseq",
26: "drop table mytab",
27: "create sequence myseq",
28: "create table mytab (mydata varchar2(20), seqcol number)"
29: );
30:
31: oci8_test_sql_execute($c, $stmtarray);
32:
33: define('MYLIMIT', 200);
34:
35: $stmt = "insert into mytab (mydata, seqcol) values ('Some data', myseq.nextval) returning seqcol into :mybv";
36:
37: $stid = OCIParse($c, $stmt);
38: if (!$stid) { echo "Parse error"; die; }
39:
40: $r = OCIBindByName($stid, ':MYBV', $mybv);
41: if (!$r) { echo "Bind error"; die; }
42:
43: for ($i = 1; $i < MYLIMIT; $i++) {
44: $r = OCIExecute($stid, OCI_DEFAULT);
45: if (!$r) { echo "Execute error"; die; }
46: var_dump($mybv);
47: }
48:
49: OCICommit($c);
50:
51: $stmtarray = array(
52: "drop sequence myseq",
53: "drop table mytab"
54: );
55:
56: oci8_test_sql_execute($c, $stmtarray);
57:
58: echo "Done\n";
59: ?>
60: --EXPECT--
61: string(1) "1"
62: string(1) "2"
63: string(1) "3"
64: string(1) "4"
65: string(1) "5"
66: string(1) "6"
67: string(1) "7"
68: string(1) "8"
69: string(1) "9"
70: string(2) "10"
71: string(2) "11"
72: string(2) "12"
73: string(2) "13"
74: string(2) "14"
75: string(2) "15"
76: string(2) "16"
77: string(2) "17"
78: string(2) "18"
79: string(2) "19"
80: string(2) "20"
81: string(2) "21"
82: string(2) "22"
83: string(2) "23"
84: string(2) "24"
85: string(2) "25"
86: string(2) "26"
87: string(2) "27"
88: string(2) "28"
89: string(2) "29"
90: string(2) "30"
91: string(2) "31"
92: string(2) "32"
93: string(2) "33"
94: string(2) "34"
95: string(2) "35"
96: string(2) "36"
97: string(2) "37"
98: string(2) "38"
99: string(2) "39"
100: string(2) "40"
101: string(2) "41"
102: string(2) "42"
103: string(2) "43"
104: string(2) "44"
105: string(2) "45"
106: string(2) "46"
107: string(2) "47"
108: string(2) "48"
109: string(2) "49"
110: string(2) "50"
111: string(2) "51"
112: string(2) "52"
113: string(2) "53"
114: string(2) "54"
115: string(2) "55"
116: string(2) "56"
117: string(2) "57"
118: string(2) "58"
119: string(2) "59"
120: string(2) "60"
121: string(2) "61"
122: string(2) "62"
123: string(2) "63"
124: string(2) "64"
125: string(2) "65"
126: string(2) "66"
127: string(2) "67"
128: string(2) "68"
129: string(2) "69"
130: string(2) "70"
131: string(2) "71"
132: string(2) "72"
133: string(2) "73"
134: string(2) "74"
135: string(2) "75"
136: string(2) "76"
137: string(2) "77"
138: string(2) "78"
139: string(2) "79"
140: string(2) "80"
141: string(2) "81"
142: string(2) "82"
143: string(2) "83"
144: string(2) "84"
145: string(2) "85"
146: string(2) "86"
147: string(2) "87"
148: string(2) "88"
149: string(2) "89"
150: string(2) "90"
151: string(2) "91"
152: string(2) "92"
153: string(2) "93"
154: string(2) "94"
155: string(2) "95"
156: string(2) "96"
157: string(2) "97"
158: string(2) "98"
159: string(2) "99"
160: string(3) "100"
161: string(3) "101"
162: string(3) "102"
163: string(3) "103"
164: string(3) "104"
165: string(3) "105"
166: string(3) "106"
167: string(3) "107"
168: string(3) "108"
169: string(3) "109"
170: string(3) "110"
171: string(3) "111"
172: string(3) "112"
173: string(3) "113"
174: string(3) "114"
175: string(3) "115"
176: string(3) "116"
177: string(3) "117"
178: string(3) "118"
179: string(3) "119"
180: string(3) "120"
181: string(3) "121"
182: string(3) "122"
183: string(3) "123"
184: string(3) "124"
185: string(3) "125"
186: string(3) "126"
187: string(3) "127"
188: string(3) "128"
189: string(3) "129"
190: string(3) "130"
191: string(3) "131"
192: string(3) "132"
193: string(3) "133"
194: string(3) "134"
195: string(3) "135"
196: string(3) "136"
197: string(3) "137"
198: string(3) "138"
199: string(3) "139"
200: string(3) "140"
201: string(3) "141"
202: string(3) "142"
203: string(3) "143"
204: string(3) "144"
205: string(3) "145"
206: string(3) "146"
207: string(3) "147"
208: string(3) "148"
209: string(3) "149"
210: string(3) "150"
211: string(3) "151"
212: string(3) "152"
213: string(3) "153"
214: string(3) "154"
215: string(3) "155"
216: string(3) "156"
217: string(3) "157"
218: string(3) "158"
219: string(3) "159"
220: string(3) "160"
221: string(3) "161"
222: string(3) "162"
223: string(3) "163"
224: string(3) "164"
225: string(3) "165"
226: string(3) "166"
227: string(3) "167"
228: string(3) "168"
229: string(3) "169"
230: string(3) "170"
231: string(3) "171"
232: string(3) "172"
233: string(3) "173"
234: string(3) "174"
235: string(3) "175"
236: string(3) "176"
237: string(3) "177"
238: string(3) "178"
239: string(3) "179"
240: string(3) "180"
241: string(3) "181"
242: string(3) "182"
243: string(3) "183"
244: string(3) "184"
245: string(3) "185"
246: string(3) "186"
247: string(3) "187"
248: string(3) "188"
249: string(3) "189"
250: string(3) "190"
251: string(3) "191"
252: string(3) "192"
253: string(3) "193"
254: string(3) "194"
255: string(3) "195"
256: string(3) "196"
257: string(3) "197"
258: string(3) "198"
259: string(3) "199"
260: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>