Updates to Tomato RAF including NGINX && PHP
[tomato.git] / release / src / router / php / ext / oci8 / tests / bind_sqltnum.phpt
blobd3828b73eea95aa3a5f0e3f19178782908d10020
1 --TEST--
2 Bind with SQLT_NUM
3 --SKIPIF--
4 <?php
5 if (!extension_loaded('oci8')) die("skip no oci8 extension");
6 if (preg_match('/^1[012]\./', oci_client_version()) != 1) {
7     die("skip test expected to work only with Oracle 10g or greater version of client");
9 ?>
10 --FILE--
11 <?php
13 require(dirname(__FILE__).'/connect.inc');
15 // Initialization
17 $stmtarray = array(
18         "drop table bind_sqltnum_tab",
20     "create table bind_sqltnum_tab (
21         id                number,
22         varchar2_t10      varchar2(10),
23         number_t          number,
24         number_t92        number(9,2))"
27 oci8_test_sql_execute($c, $stmtarray);
29 function check_col($c, $colname, $id)
31     $s = oci_parse($c, "select $colname from bind_sqltnum_tab where id = :id");
32     oci_bind_by_name($s, ":id", $id);
33     oci_execute($s);
34     oci_fetch_all($s, $r);
35     var_dump($r);
39 // Run Test
41 echo "Test 1 - baseline test\n";
43 $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, varchar2_t10) VALUES (100, :c2)");
44 $c2 = "Hood";
45 $r = oci_bind_by_name($s, ":c2", $c2, -1);
46 if (!$r) {
47     $e = oci_error($s);
48     var_dump($e);
50 $r = oci_execute($s, OCI_DEFAULT);
51 if (!$r) {
52     $e = oci_error($s);
53     var_dump($e);
56 $s = oci_parse($c, "select id, varchar2_t10 from bind_sqltnum_tab");
57 oci_execute($s);
58 oci_fetch_all($s, $data);
59 var_dump($data);
61 echo "Test 2 - SQLT_NUM to a VARCHAR2 column\n";
63 $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, varchar2_t10) VALUES (100, :c2)");
64 $c2 = "Hood";
65 $r = oci_bind_by_name($s, ":c2", $c2, -1, SQLT_NUM);
66 if (!$r) {
67     $e = oci_error($s);
68     var_dump($e['message']);
70 $r = oci_execute($s, OCI_DEFAULT);
71 if (!$r) {
72     $e = oci_error($s);
73     var_dump($e['message']);
76 echo "\nTEST41 wrong bind type SQLT_NUM\n";
78 $c2 = "Hood41";
79 $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, varchar2_t10) VALUES (41, :c2)");
80 oci_bind_by_name($s, ":c2", $c2, -1, SQLT_NUM);
81 oci_execute($s);
83 echo "\nTEST42 insert numbers SQLT_NUM\n";
85 $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t) VALUES (42, :n1)");
86 $n1 = 42;
87 oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
88 oci_execute($s);
90 check_col($c, 'number_t', 42);
92 echo "\nTEST43 insert numbers SQLT_NUM\n";
94 $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t) VALUES (43, :n1)");
95 $n1 = 42.69;
96 oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
97 oci_execute($s);
99 check_col($c, 'number_t', 43);
101 echo "\nTEST44\n";
103 $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t) VALUES (44, :n1)");
104 $n1 = 0;
105 oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
106 oci_execute($s);
108 check_col($c, 'number_t', 44);
110 echo "\nTEST45\n";
112 $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t) VALUES (45, :n1)");
113 $n1 = -23;
114 oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
115 oci_execute($s);
117 check_col($c, 'number_t', 45);
119 echo "\nTEST46 insert numbers\n";
121 $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t) VALUES (46, :n1)");
122 $n1 = "-23";
123 oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
124 oci_execute($s);
126 check_col($c, 'number_t', 46);
128 echo "\nTEST47\n";
130 $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t) VALUES (47, :n1)");
131 $n1 = "23";
132 oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
133 oci_execute($s);
135 check_col($c, 'number_t', 47);
137 echo "\nTEST48\n";
139 $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t92) VALUES (48, :n1)");
140 $n1 = 123.56;
141 oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
142 oci_execute($s);
144 check_col($c, 'number_t92', 48);
146 echo "\nTEST49\n";
148 $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t92) VALUES (49, :n1)");
149 $n1 = "123.56";
150 oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
151 oci_execute($s);
153 check_col($c, 'number_t92', 49);
155 echo "\nTEST50\n";
157 $s = oci_parse($c, "INSERT INTO bind_sqltnum_tab (id, number_t92) VALUES (50, :n1)");
158 $n1 = "";
159 oci_bind_by_name($s, ":n1", $n1, -1, SQLT_NUM);
160 oci_execute($s);
162 check_col($c, 'number_t92', 50);
164 // Clean up
166 $stmtarray = array(
167         "drop table bind_sqltnum_tab"
170 oci8_test_sql_execute($c, $stmtarray);
173 ===DONE===
174 <?php exit(0); ?>
175 --EXPECTF--
176 Test 1 - baseline test
177 array(2) {
178   ["ID"]=>
179   array(1) {
180     [0]=>
181     string(3) "100"
182   }
183   ["VARCHAR2_T10"]=>
184   array(1) {
185     [0]=>
186     string(4) "Hood"
187   }
189 Test 2 - SQLT_NUM to a VARCHAR2 column
191 Warning: oci_execute(): ORA-12899: %s (%s: 40, %s: 10) in %sbind_sqltnum.php on line %d
192 string(%d) "ORA-12899: %s"
194 TEST41 wrong bind type SQLT_NUM
196 Warning: oci_execute(): ORA-12899: %s "%s"."BIND_SQLTNUM_TAB"."VARCHAR2_T10" (%s: 40, %s: 10) in %sbind_sqltnum.php on line %d
198 TEST42 insert numbers SQLT_NUM
199 array(1) {
200   ["NUMBER_T"]=>
201   array(1) {
202     [0]=>
203     NULL
204   }
207 TEST43 insert numbers SQLT_NUM
208 array(1) {
209   ["NUMBER_T"]=>
210   array(1) {
211     [0]=>
212     NULL
213   }
216 TEST44
217 array(1) {
218   ["NUMBER_T"]=>
219   array(1) {
220     [0]=>
221     string(127) "-000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
222   }
225 TEST45
226 array(1) {
227   ["NUMBER_T"]=>
228   array(1) {
229     [0]=>
230     NULL
231   }
234 TEST46 insert numbers
235 array(1) {
236   ["NUMBER_T"]=>
237   array(1) {
238     [0]=>
239     NULL
240   }
243 TEST47
244 array(1) {
245   ["NUMBER_T"]=>
246   array(1) {
247     [0]=>
248     NULL
249   }
252 TEST48
253 array(1) {
254   ["NUMBER_T92"]=>
255   array(1) {
256     [0]=>
257     string(1) "0"
258   }
261 TEST49
262 array(1) {
263   ["NUMBER_T92"]=>
264   array(1) {
265     [0]=>
266     string(1) "0"
267   }
270 TEST50
272 Warning: oci_execute(): ORA-01438: %s in %sbind_sqltnum.php on line %d
273 array(1) {
274   ["NUMBER_T92"]=>
275   array(0) {
276   }
278 ===DONE===