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
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>