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