|
1 # 2005 September 19 |
|
2 # |
|
3 # The author disclaims copyright to this source code. In place of |
|
4 # a legal notice, here is a blessing: |
|
5 # |
|
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. |
|
9 # |
|
10 #*********************************************************************** |
|
11 # This file implements regression tests for SQLite library. |
|
12 # |
|
13 # This file implements tests to verify that ticket #1473 has been |
|
14 # fixed. |
|
15 # |
|
16 |
|
17 set testdir [file dirname $argv0] |
|
18 source $testdir/tester.tcl |
|
19 |
|
20 ifcapable !compound { |
|
21 finish_test |
|
22 return |
|
23 } |
|
24 |
|
25 do_test tkt1473-1.1 { |
|
26 execsql { |
|
27 CREATE TABLE t1(a,b); |
|
28 INSERT INTO t1 VALUES(1,2); |
|
29 INSERT INTO t1 VALUES(3,4); |
|
30 SELECT * FROM t1 |
|
31 } |
|
32 } {1 2 3 4} |
|
33 |
|
34 do_test tkt1473-1.2 { |
|
35 execsql { |
|
36 SELECT 1 FROM t1 WHERE a=1 UNION ALL SELECT 2 FROM t1 WHERE b=0 |
|
37 } |
|
38 } {1} |
|
39 do_test tkt1473-1.3 { |
|
40 execsql { |
|
41 SELECT 1 FROM t1 WHERE a=1 UNION SELECT 2 FROM t1 WHERE b=0 |
|
42 } |
|
43 } {1} |
|
44 do_test tkt1473-1.4 { |
|
45 execsql { |
|
46 SELECT 1 FROM t1 WHERE a=1 UNION ALL SELECT 2 FROM t1 WHERE b=4 |
|
47 } |
|
48 } {1 2} |
|
49 do_test tkt1473-1.5 { |
|
50 execsql { |
|
51 SELECT 1 FROM t1 WHERE a=1 UNION SELECT 2 FROM t1 WHERE b=4 |
|
52 } |
|
53 } {1 2} |
|
54 do_test tkt1473-1.6 { |
|
55 execsql { |
|
56 SELECT 1 FROM t1 WHERE a=0 UNION ALL SELECT 2 FROM t1 WHERE b=4 |
|
57 } |
|
58 } {2} |
|
59 do_test tkt1473-1.7 { |
|
60 execsql { |
|
61 SELECT 1 FROM t1 WHERE a=0 UNION SELECT 2 FROM t1 WHERE b=4 |
|
62 } |
|
63 } {2} |
|
64 do_test tkt1473-1.8 { |
|
65 execsql { |
|
66 SELECT 1 FROM t1 WHERE a=0 UNION ALL SELECT 2 FROM t1 WHERE b=0 |
|
67 } |
|
68 } {} |
|
69 do_test tkt1473-1.9 { |
|
70 execsql { |
|
71 SELECT 1 FROM t1 WHERE a=0 UNION SELECT 2 FROM t1 WHERE b=0 |
|
72 } |
|
73 } {} |
|
74 |
|
75 # Everything from this point on depends on sub-queries. So skip it |
|
76 # if sub-queries are not available. |
|
77 ifcapable !subquery { |
|
78 finish_test |
|
79 return |
|
80 } |
|
81 |
|
82 do_test tkt1473-2.2 { |
|
83 execsql { |
|
84 SELECT (SELECT 1 FROM t1 WHERE a=1 UNION ALL SELECT 2 FROM t1 WHERE b=0) |
|
85 } |
|
86 } {1} |
|
87 do_test tkt1473-2.3 { |
|
88 execsql { |
|
89 SELECT (SELECT 1 FROM t1 WHERE a=1 UNION SELECT 2 FROM t1 WHERE b=0) |
|
90 } |
|
91 } {1} |
|
92 do_test tkt1473-2.4 { |
|
93 execsql { |
|
94 SELECT (SELECT 1 FROM t1 WHERE a=1 UNION ALL SELECT 2 FROM t1 WHERE b=4) |
|
95 } |
|
96 } {1} |
|
97 do_test tkt1473-2.5 { |
|
98 execsql { |
|
99 SELECT (SELECT 1 FROM t1 WHERE a=1 UNION SELECT 2 FROM t1 WHERE b=4) |
|
100 } |
|
101 } {1} |
|
102 do_test tkt1473-2.6 { |
|
103 execsql { |
|
104 SELECT (SELECT 1 FROM t1 WHERE a=0 UNION ALL SELECT 2 FROM t1 WHERE b=4) |
|
105 } |
|
106 } {2} |
|
107 do_test tkt1473-2.7 { |
|
108 execsql { |
|
109 SELECT (SELECT 1 FROM t1 WHERE a=0 UNION SELECT 2 FROM t1 WHERE b=4) |
|
110 } |
|
111 } {2} |
|
112 do_test tkt1473-2.8 { |
|
113 execsql { |
|
114 SELECT (SELECT 1 FROM t1 WHERE a=0 UNION ALL SELECT 2 FROM t1 WHERE b=0) |
|
115 } |
|
116 } {{}} |
|
117 do_test tkt1473-2.9 { |
|
118 execsql { |
|
119 SELECT (SELECT 1 FROM t1 WHERE a=0 UNION SELECT 2 FROM t1 WHERE b=0) |
|
120 } |
|
121 } {{}} |
|
122 |
|
123 do_test tkt1473-3.2 { |
|
124 execsql { |
|
125 SELECT EXISTS |
|
126 (SELECT 1 FROM t1 WHERE a=1 UNION ALL SELECT 2 FROM t1 WHERE b=0) |
|
127 } |
|
128 } {1} |
|
129 do_test tkt1473-3.3 { |
|
130 execsql { |
|
131 SELECT EXISTS |
|
132 (SELECT 1 FROM t1 WHERE a=1 UNION SELECT 2 FROM t1 WHERE b=0) |
|
133 } |
|
134 } {1} |
|
135 do_test tkt1473-3.4 { |
|
136 execsql { |
|
137 SELECT EXISTS |
|
138 (SELECT 1 FROM t1 WHERE a=1 UNION ALL SELECT 2 FROM t1 WHERE b=4) |
|
139 } |
|
140 } {1} |
|
141 do_test tkt1473-3.5 { |
|
142 execsql { |
|
143 SELECT EXISTS |
|
144 (SELECT 1 FROM t1 WHERE a=1 UNION SELECT 2 FROM t1 WHERE b=4) |
|
145 } |
|
146 } {1} |
|
147 do_test tkt1473-3.6 { |
|
148 execsql { |
|
149 SELECT EXISTS |
|
150 (SELECT 1 FROM t1 WHERE a=0 UNION ALL SELECT 2 FROM t1 WHERE b=4) |
|
151 } |
|
152 } {1} |
|
153 do_test tkt1473-3.7 { |
|
154 execsql { |
|
155 SELECT EXISTS |
|
156 (SELECT 1 FROM t1 WHERE a=0 UNION SELECT 2 FROM t1 WHERE b=4) |
|
157 } |
|
158 } {1} |
|
159 do_test tkt1473-3.8 { |
|
160 execsql { |
|
161 SELECT EXISTS |
|
162 (SELECT 1 FROM t1 WHERE a=0 UNION ALL SELECT 2 FROM t1 WHERE b=0) |
|
163 } |
|
164 } {0} |
|
165 do_test tkt1473-3.9 { |
|
166 execsql { |
|
167 SELECT EXISTS |
|
168 (SELECT 1 FROM t1 WHERE a=0 UNION SELECT 2 FROM t1 WHERE b=0) |
|
169 } |
|
170 } {0} |
|
171 |
|
172 do_test tkt1473-4.1 { |
|
173 execsql { |
|
174 CREATE TABLE t2(x,y); |
|
175 INSERT INTO t2 VALUES(1,2); |
|
176 INSERT INTO t2 SELECT x+2, y+2 FROM t2; |
|
177 INSERT INTO t2 SELECT x+4, y+4 FROM t2; |
|
178 INSERT INTO t2 SELECT x+8, y+8 FROM t2; |
|
179 INSERT INTO t2 SELECT x+16, y+16 FROM t2; |
|
180 INSERT INTO t2 SELECT x+32, y+32 FROM t2; |
|
181 INSERT INTO t2 SELECT x+64, y+64 FROM t2; |
|
182 SELECT count(*), sum(x), sum(y) FROM t2; |
|
183 } |
|
184 } {64 4096 4160} |
|
185 do_test tkt1473-4.2 { |
|
186 execsql { |
|
187 SELECT 1 FROM t2 WHERE x=0 |
|
188 UNION ALL |
|
189 SELECT 2 FROM t2 WHERE x=1 |
|
190 UNION ALL |
|
191 SELECT 3 FROM t2 WHERE x=2 |
|
192 UNION ALL |
|
193 SELECT 4 FROM t2 WHERE x=3 |
|
194 UNION ALL |
|
195 SELECT 5 FROM t2 WHERE x=4 |
|
196 UNION ALL |
|
197 SELECT 6 FROM t2 WHERE y=0 |
|
198 UNION ALL |
|
199 SELECT 7 FROM t2 WHERE y=1 |
|
200 UNION ALL |
|
201 SELECT 8 FROM t2 WHERE y=2 |
|
202 UNION ALL |
|
203 SELECT 9 FROM t2 WHERE y=3 |
|
204 UNION ALL |
|
205 SELECT 10 FROM t2 WHERE y=4 |
|
206 } |
|
207 } {2 4 8 10} |
|
208 do_test tkt1473-4.3 { |
|
209 execsql { |
|
210 SELECT ( |
|
211 SELECT 1 FROM t2 WHERE x=0 |
|
212 UNION ALL |
|
213 SELECT 2 FROM t2 WHERE x=1 |
|
214 UNION ALL |
|
215 SELECT 3 FROM t2 WHERE x=2 |
|
216 UNION ALL |
|
217 SELECT 4 FROM t2 WHERE x=3 |
|
218 UNION ALL |
|
219 SELECT 5 FROM t2 WHERE x=4 |
|
220 UNION ALL |
|
221 SELECT 6 FROM t2 WHERE y=0 |
|
222 UNION ALL |
|
223 SELECT 7 FROM t2 WHERE y=1 |
|
224 UNION ALL |
|
225 SELECT 8 FROM t2 WHERE y=2 |
|
226 UNION ALL |
|
227 SELECT 9 FROM t2 WHERE y=3 |
|
228 UNION ALL |
|
229 SELECT 10 FROM t2 WHERE y=4 |
|
230 ) |
|
231 } |
|
232 } {2} |
|
233 do_test tkt1473-4.4 { |
|
234 execsql { |
|
235 SELECT ( |
|
236 SELECT 1 FROM t2 WHERE x=0 |
|
237 UNION ALL |
|
238 SELECT 2 FROM t2 WHERE x=-1 |
|
239 UNION ALL |
|
240 SELECT 3 FROM t2 WHERE x=2 |
|
241 UNION ALL |
|
242 SELECT 4 FROM t2 WHERE x=3 |
|
243 UNION ALL |
|
244 SELECT 5 FROM t2 WHERE x=4 |
|
245 UNION ALL |
|
246 SELECT 6 FROM t2 WHERE y=0 |
|
247 UNION ALL |
|
248 SELECT 7 FROM t2 WHERE y=1 |
|
249 UNION ALL |
|
250 SELECT 8 FROM t2 WHERE y=2 |
|
251 UNION ALL |
|
252 SELECT 9 FROM t2 WHERE y=3 |
|
253 UNION ALL |
|
254 SELECT 10 FROM t2 WHERE y=4 |
|
255 ) |
|
256 } |
|
257 } {4} |
|
258 do_test tkt1473-4.5 { |
|
259 execsql { |
|
260 SELECT ( |
|
261 SELECT 1 FROM t2 WHERE x=0 |
|
262 UNION ALL |
|
263 SELECT 2 FROM t2 WHERE x=-1 |
|
264 UNION ALL |
|
265 SELECT 3 FROM t2 WHERE x=2 |
|
266 UNION ALL |
|
267 SELECT 4 FROM t2 WHERE x=-1 |
|
268 UNION ALL |
|
269 SELECT 5 FROM t2 WHERE x=4 |
|
270 UNION ALL |
|
271 SELECT 6 FROM t2 WHERE y=0 |
|
272 UNION ALL |
|
273 SELECT 7 FROM t2 WHERE y=1 |
|
274 UNION ALL |
|
275 SELECT 8 FROM t2 WHERE y=2 |
|
276 UNION ALL |
|
277 SELECT 9 FROM t2 WHERE y=3 |
|
278 UNION ALL |
|
279 SELECT 10 FROM t2 WHERE y=-4 |
|
280 ) |
|
281 } |
|
282 } {8} |
|
283 do_test tkt1473-4.6 { |
|
284 execsql { |
|
285 SELECT ( |
|
286 SELECT 1 FROM t2 WHERE x=0 |
|
287 UNION ALL |
|
288 SELECT 2 FROM t2 WHERE x=-1 |
|
289 UNION ALL |
|
290 SELECT 3 FROM t2 WHERE x=2 |
|
291 UNION ALL |
|
292 SELECT 4 FROM t2 WHERE x=-2 |
|
293 UNION ALL |
|
294 SELECT 5 FROM t2 WHERE x=4 |
|
295 UNION ALL |
|
296 SELECT 6 FROM t2 WHERE y=0 |
|
297 UNION ALL |
|
298 SELECT 7 FROM t2 WHERE y=1 |
|
299 UNION ALL |
|
300 SELECT 8 FROM t2 WHERE y=-3 |
|
301 UNION ALL |
|
302 SELECT 9 FROM t2 WHERE y=3 |
|
303 UNION ALL |
|
304 SELECT 10 FROM t2 WHERE y=4 |
|
305 ) |
|
306 } |
|
307 } {10} |
|
308 do_test tkt1473-4.7 { |
|
309 execsql { |
|
310 SELECT ( |
|
311 SELECT 1 FROM t2 WHERE x=0 |
|
312 UNION ALL |
|
313 SELECT 2 FROM t2 WHERE x=-1 |
|
314 UNION ALL |
|
315 SELECT 3 FROM t2 WHERE x=2 |
|
316 UNION ALL |
|
317 SELECT 4 FROM t2 WHERE x=-2 |
|
318 UNION ALL |
|
319 SELECT 5 FROM t2 WHERE x=4 |
|
320 UNION ALL |
|
321 SELECT 6 FROM t2 WHERE y=0 |
|
322 UNION ALL |
|
323 SELECT 7 FROM t2 WHERE y=1 |
|
324 UNION ALL |
|
325 SELECT 8 FROM t2 WHERE y=-3 |
|
326 UNION ALL |
|
327 SELECT 9 FROM t2 WHERE y=3 |
|
328 UNION ALL |
|
329 SELECT 10 FROM t2 WHERE y=-4 |
|
330 ) |
|
331 } |
|
332 } {{}} |
|
333 |
|
334 do_test tkt1473-5.3 { |
|
335 execsql { |
|
336 SELECT EXISTS ( |
|
337 SELECT 1 FROM t2 WHERE x=0 |
|
338 UNION ALL |
|
339 SELECT 2 FROM t2 WHERE x=1 |
|
340 UNION ALL |
|
341 SELECT 3 FROM t2 WHERE x=2 |
|
342 UNION ALL |
|
343 SELECT 4 FROM t2 WHERE x=3 |
|
344 UNION ALL |
|
345 SELECT 5 FROM t2 WHERE x=4 |
|
346 UNION ALL |
|
347 SELECT 6 FROM t2 WHERE y=0 |
|
348 UNION ALL |
|
349 SELECT 7 FROM t2 WHERE y=1 |
|
350 UNION ALL |
|
351 SELECT 8 FROM t2 WHERE y=2 |
|
352 UNION ALL |
|
353 SELECT 9 FROM t2 WHERE y=3 |
|
354 UNION ALL |
|
355 SELECT 10 FROM t2 WHERE y=4 |
|
356 ) |
|
357 } |
|
358 } {1} |
|
359 do_test tkt1473-5.4 { |
|
360 execsql { |
|
361 SELECT EXISTS ( |
|
362 SELECT 1 FROM t2 WHERE x=0 |
|
363 UNION ALL |
|
364 SELECT 2 FROM t2 WHERE x=-1 |
|
365 UNION ALL |
|
366 SELECT 3 FROM t2 WHERE x=2 |
|
367 UNION ALL |
|
368 SELECT 4 FROM t2 WHERE x=3 |
|
369 UNION ALL |
|
370 SELECT 5 FROM t2 WHERE x=4 |
|
371 UNION ALL |
|
372 SELECT 6 FROM t2 WHERE y=0 |
|
373 UNION ALL |
|
374 SELECT 7 FROM t2 WHERE y=1 |
|
375 UNION ALL |
|
376 SELECT 8 FROM t2 WHERE y=2 |
|
377 UNION ALL |
|
378 SELECT 9 FROM t2 WHERE y=3 |
|
379 UNION ALL |
|
380 SELECT 10 FROM t2 WHERE y=4 |
|
381 ) |
|
382 } |
|
383 } {1} |
|
384 |
|
385 do_test tkt1473-5.5 { |
|
386 execsql { |
|
387 SELECT EXISTS ( |
|
388 SELECT 1 FROM t2 WHERE x=0 |
|
389 UNION ALL |
|
390 SELECT 2 FROM t2 WHERE x=-1 |
|
391 UNION ALL |
|
392 SELECT 3 FROM t2 WHERE x=2 |
|
393 UNION ALL |
|
394 SELECT 4 FROM t2 WHERE x=-1 |
|
395 UNION ALL |
|
396 SELECT 5 FROM t2 WHERE x=4 |
|
397 UNION ALL |
|
398 SELECT 6 FROM t2 WHERE y=0 |
|
399 UNION ALL |
|
400 SELECT 7 FROM t2 WHERE y=1 |
|
401 UNION ALL |
|
402 SELECT 8 FROM t2 WHERE y=2 |
|
403 UNION ALL |
|
404 SELECT 9 FROM t2 WHERE y=3 |
|
405 UNION ALL |
|
406 SELECT 10 FROM t2 WHERE y=-4 |
|
407 ) |
|
408 } |
|
409 } {1} |
|
410 do_test tkt1473-5.6 { |
|
411 execsql { |
|
412 SELECT EXISTS ( |
|
413 SELECT 1 FROM t2 WHERE x=0 |
|
414 UNION ALL |
|
415 SELECT 2 FROM t2 WHERE x=-1 |
|
416 UNION ALL |
|
417 SELECT 3 FROM t2 WHERE x=2 |
|
418 UNION ALL |
|
419 SELECT 4 FROM t2 WHERE x=-2 |
|
420 UNION ALL |
|
421 SELECT 5 FROM t2 WHERE x=4 |
|
422 UNION ALL |
|
423 SELECT 6 FROM t2 WHERE y=0 |
|
424 UNION ALL |
|
425 SELECT 7 FROM t2 WHERE y=1 |
|
426 UNION ALL |
|
427 SELECT 8 FROM t2 WHERE y=-3 |
|
428 UNION ALL |
|
429 SELECT 9 FROM t2 WHERE y=3 |
|
430 UNION ALL |
|
431 SELECT 10 FROM t2 WHERE y=4 |
|
432 ) |
|
433 } |
|
434 } {1} |
|
435 do_test tkt1473-5.7 { |
|
436 execsql { |
|
437 SELECT EXISTS ( |
|
438 SELECT 1 FROM t2 WHERE x=0 |
|
439 UNION ALL |
|
440 SELECT 2 FROM t2 WHERE x=-1 |
|
441 UNION ALL |
|
442 SELECT 3 FROM t2 WHERE x=2 |
|
443 UNION ALL |
|
444 SELECT 4 FROM t2 WHERE x=-2 |
|
445 UNION ALL |
|
446 SELECT 5 FROM t2 WHERE x=4 |
|
447 UNION ALL |
|
448 SELECT 6 FROM t2 WHERE y=0 |
|
449 UNION ALL |
|
450 SELECT 7 FROM t2 WHERE y=1 |
|
451 UNION ALL |
|
452 SELECT 8 FROM t2 WHERE y=-3 |
|
453 UNION ALL |
|
454 SELECT 9 FROM t2 WHERE y=3 |
|
455 UNION ALL |
|
456 SELECT 10 FROM t2 WHERE y=-4 |
|
457 ) |
|
458 } |
|
459 } {0} |
|
460 |
|
461 do_test tkt1473-6.3 { |
|
462 execsql { |
|
463 SELECT EXISTS ( |
|
464 SELECT 1 FROM t2 WHERE x=0 |
|
465 UNION |
|
466 SELECT 2 FROM t2 WHERE x=1 |
|
467 UNION |
|
468 SELECT 3 FROM t2 WHERE x=2 |
|
469 UNION |
|
470 SELECT 4 FROM t2 WHERE x=3 |
|
471 UNION |
|
472 SELECT 5 FROM t2 WHERE x=4 |
|
473 UNION |
|
474 SELECT 6 FROM t2 WHERE y=0 |
|
475 UNION |
|
476 SELECT 7 FROM t2 WHERE y=1 |
|
477 UNION |
|
478 SELECT 8 FROM t2 WHERE y=2 |
|
479 UNION |
|
480 SELECT 9 FROM t2 WHERE y=3 |
|
481 UNION |
|
482 SELECT 10 FROM t2 WHERE y=4 |
|
483 ) |
|
484 } |
|
485 } {1} |
|
486 do_test tkt1473-6.4 { |
|
487 execsql { |
|
488 SELECT EXISTS ( |
|
489 SELECT 1 FROM t2 WHERE x=0 |
|
490 UNION |
|
491 SELECT 2 FROM t2 WHERE x=-1 |
|
492 UNION |
|
493 SELECT 3 FROM t2 WHERE x=2 |
|
494 UNION |
|
495 SELECT 4 FROM t2 WHERE x=3 |
|
496 UNION |
|
497 SELECT 5 FROM t2 WHERE x=4 |
|
498 UNION |
|
499 SELECT 6 FROM t2 WHERE y=0 |
|
500 UNION |
|
501 SELECT 7 FROM t2 WHERE y=1 |
|
502 UNION |
|
503 SELECT 8 FROM t2 WHERE y=2 |
|
504 UNION |
|
505 SELECT 9 FROM t2 WHERE y=3 |
|
506 UNION |
|
507 SELECT 10 FROM t2 WHERE y=4 |
|
508 ) |
|
509 } |
|
510 } {1} |
|
511 |
|
512 do_test tkt1473-6.5 { |
|
513 execsql { |
|
514 SELECT EXISTS ( |
|
515 SELECT 1 FROM t2 WHERE x=0 |
|
516 UNION |
|
517 SELECT 2 FROM t2 WHERE x=-1 |
|
518 UNION |
|
519 SELECT 3 FROM t2 WHERE x=2 |
|
520 UNION |
|
521 SELECT 4 FROM t2 WHERE x=-1 |
|
522 UNION |
|
523 SELECT 5 FROM t2 WHERE x=4 |
|
524 UNION |
|
525 SELECT 6 FROM t2 WHERE y=0 |
|
526 UNION |
|
527 SELECT 7 FROM t2 WHERE y=1 |
|
528 UNION |
|
529 SELECT 8 FROM t2 WHERE y=2 |
|
530 UNION |
|
531 SELECT 9 FROM t2 WHERE y=3 |
|
532 UNION |
|
533 SELECT 10 FROM t2 WHERE y=-4 |
|
534 ) |
|
535 } |
|
536 } {1} |
|
537 do_test tkt1473-6.6 { |
|
538 execsql { |
|
539 SELECT EXISTS ( |
|
540 SELECT 1 FROM t2 WHERE x=0 |
|
541 UNION |
|
542 SELECT 2 FROM t2 WHERE x=-1 |
|
543 UNION |
|
544 SELECT 3 FROM t2 WHERE x=2 |
|
545 UNION |
|
546 SELECT 4 FROM t2 WHERE x=-2 |
|
547 UNION |
|
548 SELECT 5 FROM t2 WHERE x=4 |
|
549 UNION |
|
550 SELECT 6 FROM t2 WHERE y=0 |
|
551 UNION |
|
552 SELECT 7 FROM t2 WHERE y=1 |
|
553 UNION |
|
554 SELECT 8 FROM t2 WHERE y=-3 |
|
555 UNION |
|
556 SELECT 9 FROM t2 WHERE y=3 |
|
557 UNION |
|
558 SELECT 10 FROM t2 WHERE y=4 |
|
559 ) |
|
560 } |
|
561 } {1} |
|
562 do_test tkt1473-6.7 { |
|
563 execsql { |
|
564 SELECT EXISTS ( |
|
565 SELECT 1 FROM t2 WHERE x=0 |
|
566 UNION |
|
567 SELECT 2 FROM t2 WHERE x=-1 |
|
568 UNION |
|
569 SELECT 3 FROM t2 WHERE x=2 |
|
570 UNION |
|
571 SELECT 4 FROM t2 WHERE x=-2 |
|
572 UNION |
|
573 SELECT 5 FROM t2 WHERE x=4 |
|
574 UNION |
|
575 SELECT 6 FROM t2 WHERE y=0 |
|
576 UNION |
|
577 SELECT 7 FROM t2 WHERE y=1 |
|
578 UNION |
|
579 SELECT 8 FROM t2 WHERE y=-3 |
|
580 UNION |
|
581 SELECT 9 FROM t2 WHERE y=3 |
|
582 UNION |
|
583 SELECT 10 FROM t2 WHERE y=-4 |
|
584 ) |
|
585 } |
|
586 } {0} |
|
587 do_test tkt1473-6.8 { |
|
588 execsql { |
|
589 SELECT EXISTS ( |
|
590 SELECT 1 FROM t2 WHERE x=0 |
|
591 UNION |
|
592 SELECT 2 FROM t2 WHERE x=-1 |
|
593 UNION |
|
594 SELECT 3 FROM t2 WHERE x=2 |
|
595 UNION |
|
596 SELECT 4 FROM t2 WHERE x=-2 |
|
597 UNION |
|
598 SELECT 5 FROM t2 WHERE x=4 |
|
599 UNION ALL |
|
600 SELECT 6 FROM t2 WHERE y=0 |
|
601 UNION |
|
602 SELECT 7 FROM t2 WHERE y=1 |
|
603 UNION |
|
604 SELECT 8 FROM t2 WHERE y=-3 |
|
605 UNION |
|
606 SELECT 9 FROM t2 WHERE y=3 |
|
607 UNION |
|
608 SELECT 10 FROM t2 WHERE y=4 |
|
609 ) |
|
610 } |
|
611 } {1} |
|
612 do_test tkt1473-6.9 { |
|
613 execsql { |
|
614 SELECT EXISTS ( |
|
615 SELECT 1 FROM t2 WHERE x=0 |
|
616 UNION |
|
617 SELECT 2 FROM t2 WHERE x=-1 |
|
618 UNION |
|
619 SELECT 3 FROM t2 WHERE x=2 |
|
620 UNION |
|
621 SELECT 4 FROM t2 WHERE x=-2 |
|
622 UNION |
|
623 SELECT 5 FROM t2 WHERE x=4 |
|
624 UNION ALL |
|
625 SELECT 6 FROM t2 WHERE y=0 |
|
626 UNION |
|
627 SELECT 7 FROM t2 WHERE y=1 |
|
628 UNION |
|
629 SELECT 8 FROM t2 WHERE y=-3 |
|
630 UNION |
|
631 SELECT 9 FROM t2 WHERE y=3 |
|
632 UNION |
|
633 SELECT 10 FROM t2 WHERE y=-4 |
|
634 ) |
|
635 } |
|
636 } {0} |
|
637 |
|
638 do_test tkt1473-7.1 { |
|
639 execsql { |
|
640 SELECT 1 FROM t2 WHERE x=1 EXCEPT SELECT 2 FROM t2 WHERE y=2 |
|
641 } |
|
642 } {1} |
|
643 do_test tkt1473-7.2 { |
|
644 execsql { |
|
645 SELECT ( |
|
646 SELECT 1 FROM t2 WHERE x=1 EXCEPT SELECT 2 FROM t2 WHERE y=2 |
|
647 ) |
|
648 } |
|
649 } {1} |
|
650 do_test tkt1473-7.3 { |
|
651 execsql { |
|
652 SELECT EXISTS ( |
|
653 SELECT 1 FROM t2 WHERE x=1 EXCEPT SELECT 2 FROM t2 WHERE y=2 |
|
654 ) |
|
655 } |
|
656 } {1} |
|
657 do_test tkt1473-7.4 { |
|
658 execsql { |
|
659 SELECT ( |
|
660 SELECT 1 FROM t2 WHERE x=0 EXCEPT SELECT 2 FROM t2 WHERE y=2 |
|
661 ) |
|
662 } |
|
663 } {{}} |
|
664 do_test tkt1473-7.5 { |
|
665 execsql { |
|
666 SELECT EXISTS ( |
|
667 SELECT 1 FROM t2 WHERE x=0 EXCEPT SELECT 2 FROM t2 WHERE y=2 |
|
668 ) |
|
669 } |
|
670 } {0} |
|
671 |
|
672 do_test tkt1473-8.1 { |
|
673 execsql { |
|
674 SELECT 1 FROM t2 WHERE x=1 INTERSECT SELECT 2 FROM t2 WHERE y=2 |
|
675 } |
|
676 } {} |
|
677 do_test tkt1473-8.1 { |
|
678 execsql { |
|
679 SELECT 1 FROM t2 WHERE x=1 INTERSECT SELECT 1 FROM t2 WHERE y=2 |
|
680 } |
|
681 } {1} |
|
682 do_test tkt1473-8.3 { |
|
683 execsql { |
|
684 SELECT ( |
|
685 SELECT 1 FROM t2 WHERE x=1 INTERSECT SELECT 2 FROM t2 WHERE y=2 |
|
686 ) |
|
687 } |
|
688 } {{}} |
|
689 do_test tkt1473-8.4 { |
|
690 execsql { |
|
691 SELECT ( |
|
692 SELECT 1 FROM t2 WHERE x=1 INTERSECT SELECT 1 FROM t2 WHERE y=2 |
|
693 ) |
|
694 } |
|
695 } {1} |
|
696 do_test tkt1473-8.5 { |
|
697 execsql { |
|
698 SELECT EXISTS ( |
|
699 SELECT 1 FROM t2 WHERE x=1 INTERSECT SELECT 2 FROM t2 WHERE y=2 |
|
700 ) |
|
701 } |
|
702 } {0} |
|
703 do_test tkt1473-8.6 { |
|
704 execsql { |
|
705 SELECT EXISTS ( |
|
706 SELECT 1 FROM t2 WHERE x=1 INTERSECT SELECT 1 FROM t2 WHERE y=2 |
|
707 ) |
|
708 } |
|
709 } {1} |
|
710 do_test tkt1473-8.7 { |
|
711 execsql { |
|
712 SELECT ( |
|
713 SELECT 1 FROM t2 WHERE x=0 INTERSECT SELECT 1 FROM t2 WHERE y=2 |
|
714 ) |
|
715 } |
|
716 } {{}} |
|
717 do_test tkt1473-8.8 { |
|
718 execsql { |
|
719 SELECT EXISTS ( |
|
720 SELECT 1 FROM t2 WHERE x=1 INTERSECT SELECT 1 FROM t2 WHERE y=0 |
|
721 ) |
|
722 } |
|
723 } {0} |
|
724 |
|
725 |
|
726 |
|
727 |
|
728 finish_test |