Fix a bug in the spellfix extension causing it to compute suboptimal answers.
[sqlite.git] / test / tkt1473.test
blob3950272f0498e772772236d9488864000e334971
1 # 2005 September 19
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 #1473 has been
14 # fixed.  
17 set testdir [file dirname $argv0]
18 source $testdir/tester.tcl
20 ifcapable !compound {
21   finish_test
22   return 
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}
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 } {}
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
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 } {{}}
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}
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 } {{}}
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}
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}
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}
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}
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}
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}
728 finish_test