OLD | NEW |
| (Empty) |
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 | |
OLD | NEW |