Updates to Tomato RAF including NGINX && PHP
[tomato.git] / release / src / router / php / ext / oci8 / tests / bug42173.phpt
blobd5e2f70c195943f5221c39f1d808a6867ec134be
1 --TEST--
2 Bug #42173 (TIMESTAMP and INTERVAL query and field functions)
3 --SKIPIF--
4 <?php
5 $target_dbs = array('oracledb' => true, 'timesten' => false);  // test runs on these DBs
6 require(dirname(__FILE__).'/skipif.inc');
7 ?> 
8 --FILE--
9 <?php
11 require(dirname(__FILE__).'/connect.inc');
13 $stmts = array(
15 "drop table ts_test",
17 "create table ts_test (
18 c1 TIMESTAMP,
19 c2 TIMESTAMP (5),
20 c3 TIMESTAMP WITH TIME ZONE,
21 c4 TIMESTAMP (2) WITH TIME ZONE,
22 c5 TIMESTAMP WITH LOCAL TIME ZONE,
23 c6 INTERVAL YEAR TO MONTH,
24 c7 INTERVAL YEAR(2) TO MONTH,
25 c8 INTERVAL DAY TO SECOND,
26 c9 INTERVAL DAY(2) TO SECOND(3)
27 )",
29 "insert into ts_test values (
30 timestamp'1999-01-03 10:00:00.123',
31 timestamp'1999-01-04 10:00:00.123456',
32 timestamp'1999-01-05 10:00:00.123456+1:0',
33 timestamp'1999-01-06 10:00:00.123456-1:0',
34 timestamp'1999-01-06 10:00:00.123456-1:0',
35 interval'1-2' year to month,
36 interval'10-4' year to month,
37 interval'1 2:20:20.123' day to second,
38 interval'1 2:20:20.12345' day to second)");
40 foreach ($stmts as $sql) {
41         $s = oci_parse($c, $sql);
42         $r = @oci_execute($s);
45 $s = oci_parse($c, "select * from ts_test");
46 $r = oci_execute($s);
47 $row = oci_fetch_array($s, OCI_ASSOC);
48 var_dump($row);
50 foreach ($row as $name => $field) {
51         echo "\nColumn $name\n";
52         var_dump(oci_field_is_null($s, $name));
53         var_dump(oci_field_name($s, $name));
54         var_dump(oci_field_type($s, $name));
55         var_dump(oci_field_type_raw($s, $name));
56         var_dump(oci_field_scale($s, $name));
57         var_dump(oci_field_precision($s, $name));
58         var_dump(oci_field_size($s, $name));
61 // Cleanup
63 $s = oci_parse($c, "drop table ts_test");
64 $r = @oci_execute($s);
66 echo "Done\n";
69 --EXPECTF--
70 array(9) {
71   ["C1"]=>
72   string(28) "03-JAN-99 10.00.00.123000 AM"
73   ["C2"]=>
74   string(27) "04-JAN-99 10.00.00.12346 AM"
75   ["C3"]=>
76   string(35) "05-JAN-99 10.00.00.123456 AM +01:00"
77   ["C4"]=>
78   string(31) "06-JAN-99 10.00.00.12 AM -01:00"
79   ["C5"]=>
80   string(28) "%s"
81   ["C6"]=>
82   string(6) "+01-02"
83   ["C7"]=>
84   string(6) "+10-04"
85   ["C8"]=>
86   string(19) "+01 02:20:20.123000"
87   ["C9"]=>
88   string(16) "+01 02:20:20.123"
91 Column C1
92 bool(false)
93 string(2) "C1"
94 string(9) "TIMESTAMP"
95 int(187)
96 int(6)
97 int(0)
98 int(11)
100 Column C2
101 bool(false)
102 string(2) "C2"
103 string(9) "TIMESTAMP"
104 int(187)
105 int(5)
106 int(0)
107 int(11)
109 Column C3
110 bool(false)
111 string(2) "C3"
112 string(23) "TIMESTAMP WITH TIMEZONE"
113 int(188)
114 int(6)
115 int(0)
116 int(13)
118 Column C4
119 bool(false)
120 string(2) "C4"
121 string(23) "TIMESTAMP WITH TIMEZONE"
122 int(188)
123 int(2)
124 int(0)
125 int(13)
127 Column C5
128 bool(false)
129 string(2) "C5"
130 string(29) "TIMESTAMP WITH LOCAL TIMEZONE"
131 int(232)
132 int(6)
133 int(0)
134 int(11)
136 Column C6
137 bool(false)
138 string(2) "C6"
139 string(22) "INTERVAL YEAR TO MONTH"
140 int(189)
141 int(0)
142 int(2)
143 int(5)
145 Column C7
146 bool(false)
147 string(2) "C7"
148 string(22) "INTERVAL YEAR TO MONTH"
149 int(189)
150 int(0)
151 int(2)
152 int(5)
154 Column C8
155 bool(false)
156 string(2) "C8"
157 string(22) "INTERVAL DAY TO SECOND"
158 int(190)
159 int(6)
160 int(2)
161 int(11)
163 Column C9
164 bool(false)
165 string(2) "C9"
166 string(22) "INTERVAL DAY TO SECOND"
167 int(190)
168 int(3)
169 int(2)
170 int(11)
171 Done