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>