OLD | NEW |
(Empty) | |
| 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 |
OLD | NEW |