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
17set testdir [file dirname $argv0]
18source $testdir/tester.tcl
19
20ifcapable !compound {
21  finish_test
22  return 
23}
24
25do_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
34do_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}
39do_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}
44do_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}
49do_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}
54do_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}
59do_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}
64do_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} {}
69do_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.
77ifcapable !subquery {
78  finish_test
79  return
80}
81
82do_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}
87do_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}
92do_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}
97do_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}
102do_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}
107do_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}
112do_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} {{}}
117do_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
123do_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}
129do_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}
135do_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}
141do_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}
147do_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}
153do_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}
159do_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}
165do_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
172do_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}
185do_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}
208do_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}
233do_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}
258do_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}
283do_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}
308do_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
334do_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}
359do_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
385do_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}
410do_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}
435do_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
461do_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}
486do_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
512do_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}
537do_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}
562do_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}
587do_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}
612do_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
638do_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}
643do_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}
650do_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}
657do_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} {{}}
664do_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
672do_test tkt1473-8.1 {
673  execsql {
674    SELECT 1 FROM t2 WHERE x=1 INTERSECT SELECT 2 FROM t2 WHERE y=2
675  }
676} {}
677do_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}
682do_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} {{}}
689do_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}
696do_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}
703do_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}
710do_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} {{}}
717do_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
728finish_test
729