Merge sqlite-release(3.43.1) into prerelease-integration
[sqlcipher.git] / test / tkt-9a8b09f8e6.test
blobd6b22efb21ac16d38fcd291856db11ab13e2de20
1 # 2014 June 26
3 # The author disclaims copyright to this source code.  In place of
4 # a legal notice, here is a blessing:
6 #    May you do good and not evil.
7 #    May you find forgiveness for yourself and forgive others.
8 #    May you share freely, never taking more than you give.
10 #***********************************************************************
11 # This file implements regression tests for SQLite library.
13 # This file implements tests to verify that ticket [9a8b09f8e6] has been
14 # fixed.
17 set testdir [file dirname $argv0]
18 source $testdir/tester.tcl
19 set testprefix tkt-9a8b09f8e6
21 do_test 1.1 {
22   execsql {
23     CREATE TABLE t1(x TEXT);
24     INSERT INTO t1 VALUES('1');
25   }
26 } {}
28 do_test 1.2 {
29   execsql {
30     CREATE TABLE t2(x INTEGER);
31     INSERT INTO t2 VALUES(1);
32   }
33 } {}
35 do_test 1.3 {
36   execsql {
37     CREATE TABLE t3(x REAL);
38     INSERT INTO t3 VALUES(1.0);
39   }
40 } {}
42 do_test 1.4 {
43   execsql {
44     CREATE TABLE t4(x REAL);
45     INSERT INTO t4 VALUES(1.11);
46   }
47 } {}
49 do_test 1.5 {
50   execsql {
51     CREATE TABLE t5(x, y);
52     INSERT INTO t5 VALUES('1', 'one');
53     INSERT INTO t5 VALUES(1, 'two');
54     INSERT INTO t5 VALUES('1.0', 'three');
55     INSERT INTO t5 VALUES(1.0, 'four');
56   }
57 } {}
59 do_test 2.1 {
60   execsql {
61     SELECT x FROM t1 WHERE x IN (1);
62   }
63 } {1}
65 do_test 2.2 {
66   execsql {
67     SELECT x FROM t1 WHERE x IN (1.0);
68   }
69 } {}
71 do_test 2.3 {
72   execsql {
73     SELECT x FROM t1 WHERE x IN ('1');
74   }
75 } {1}
77 do_test 2.4 {
78   execsql {
79     SELECT x FROM t1 WHERE x IN ('1.0');
80   }
81 } {}
83 do_test 2.5 {
84   execsql {
85     SELECT x FROM t1 WHERE 1 IN (x);
86   }
87 } {}
89 do_test 2.6 {
90   execsql {
91     SELECT x FROM t1 WHERE 1.0 IN (x);
92   }
93 } {}
95 do_test 2.7 {
96   execsql {
97     SELECT x FROM t1 WHERE '1' IN (x);
98   }
99 } {1}
101 do_test 2.8 {
102   execsql {
103     SELECT x FROM t1 WHERE '1.0' IN (x);
104   }
105 } {}
107 do_test 3.1 {
108   execsql {
109     SELECT x FROM t2 WHERE x IN (1);
110   }
111 } {1}
113 do_test 3.2 {
114   execsql {
115     SELECT x FROM t2 WHERE x IN (1.0);
116   }
117 } {1}
119 do_test 3.3 {
120   execsql {
121     SELECT x FROM t2 WHERE x IN ('1');
122   }
123 } {1}
125 do_test 3.4 {
126   execsql {
127     SELECT x FROM t2 WHERE x IN ('1.0');
128   }
129 } {1}
131 do_test 3.5 {
132   execsql {
133     SELECT x FROM t2 WHERE 1 IN (x);
134   }
135 } {1}
137 do_test 3.6 {
138   execsql {
139     SELECT x FROM t2 WHERE 1.0 IN (x);
140   }
141 } {1}
143 do_test 3.7 {
144   execsql {
145     SELECT x FROM t2 WHERE '1' IN (x);
146   }
147 } {}
149 do_test 3.8 {
150   execsql {
151     SELECT x FROM t2 WHERE '1.0' IN (x);
152   }
153 } {}
155 do_test 4.1 {
156   execsql {
157     SELECT x FROM t3 WHERE x IN (1);
158   }
159 } {1.0}
161 do_test 4.2 {
162   execsql {
163     SELECT x FROM t3 WHERE x IN (1.0);
164   }
165 } {1.0}
167 do_test 4.3 {
168   execsql {
169     SELECT x FROM t3 WHERE x IN ('1');
170   }
171 } {1.0}
173 do_test 4.4 {
174   execsql {
175     SELECT x FROM t3 WHERE x IN ('1.0');
176   }
177 } {1.0}
179 do_test 4.5 {
180   execsql {
181     SELECT x FROM t3 WHERE 1 IN (x);
182   }
183 } {1.0}
185 do_test 4.6 {
186   execsql {
187     SELECT x FROM t3 WHERE 1.0 IN (x);
188   }
189 } {1.0}
191 do_test 4.7 {
192   execsql {
193     SELECT x FROM t3 WHERE '1' IN (x);
194   }
195 } {}
197 do_test 4.8 {
198   execsql {
199     SELECT x FROM t3 WHERE '1.0' IN (x);
200   }
201 } {}
203 do_test 5.1 {
204   execsql {
205     SELECT x FROM t4 WHERE x IN (1);
206   }
207 } {}
209 do_test 5.2 {
210   execsql {
211     SELECT x FROM t4 WHERE x IN (1.0);
212   }
213 } {}
215 do_test 5.3 {
216   execsql {
217     SELECT x FROM t4 WHERE x IN ('1');
218   }
219 } {}
221 do_test 5.4 {
222   execsql {
223     SELECT x FROM t4 WHERE x IN ('1.0');
224   }
225 } {}
227 do_test 5.5 {
228   execsql {
229     SELECT x FROM t4 WHERE x IN (1.11);
230   }
231 } {1.11}
233 do_test 5.6 {
234   execsql {
235     SELECT x FROM t4 WHERE x IN ('1.11');
236   }
237 } {1.11}
239 do_test 5.7 {
240   execsql {
241     SELECT x FROM t4 WHERE 1 IN (x);
242   }
243 } {}
245 do_test 5.8 {
246   execsql {
247     SELECT x FROM t4 WHERE 1.0 IN (x);
248   }
249 } {}
251 do_test 5.9 {
252   execsql {
253     SELECT x FROM t4 WHERE '1' IN (x);
254   }
255 } {}
257 do_test 5.10 {
258   execsql {
259     SELECT x FROM t4 WHERE '1.0' IN (x);
260   }
261 } {}
263 do_test 5.11 {
264   execsql {
265     SELECT x FROM t4 WHERE 1.11 IN (x);
266   }
267 } {1.11}
269 do_test 5.12 {
270   execsql {
271     SELECT x FROM t4 WHERE '1.11' IN (x);
272   }
273 } {}
275 do_test 6.1 {
276   execsql {
277     SELECT x, y FROM t5 WHERE x IN (1);
278   }
279 } {1 two 1.0 four}
281 do_test 6.2 {
282   execsql {
283     SELECT x, y FROM t5 WHERE x IN (1.0);
284   }
285 } {1 two 1.0 four}
287 do_test 6.3 {
288   execsql {
289     SELECT x, y FROM t5 WHERE x IN ('1');
290   }
291 } {1 one}
293 do_test 6.4 {
294   execsql {
295     SELECT x, y FROM t5 WHERE x IN ('1.0');
296   }
297 } {1.0 three}
299 do_test 6.5 {
300   execsql {
301     SELECT x, y FROM t5 WHERE 1 IN (x);
302   }
303 } {1 two 1.0 four}
305 do_test 6.6 {
306   execsql {
307     SELECT x, y FROM t5 WHERE 1.0 IN (x);
308   }
309 } {1 two 1.0 four}
311 do_test 6.7 {
312   execsql {
313     SELECT x, y FROM t5 WHERE '1' IN (x);
314   }
315 } {1 one}
317 do_test 6.8 {
318   execsql {
319     SELECT x, y FROM t5 WHERE '1.0' IN (x);
320   }
321 } {1.0 three}
323 finish_test