Annotation of embedaddon/sqlite3/test/tkt1473.test, revision 1.1

1.1     ! misho       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>