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