OLD | NEW |
1 # 2002 May 24 | 1 # 2002 May 24 |
2 # | 2 # |
3 # The author disclaims copyright to this source code. In place of | 3 # The author disclaims copyright to this source code. In place of |
4 # a legal notice, here is a blessing: | 4 # a legal notice, here is a blessing: |
5 # | 5 # |
6 # May you do good and not evil. | 6 # May you do good and not evil. |
7 # May you find forgiveness for yourself and forgive others. | 7 # May you find forgiveness for yourself and forgive others. |
8 # May you share freely, never taking more than you give. | 8 # May you share freely, never taking more than you give. |
9 # | 9 # |
10 #*********************************************************************** | 10 #*********************************************************************** |
(...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
569 } | 569 } |
570 } {1 2 3 {} {} {}} | 570 } {1 2 3 {} {} {}} |
571 do_test join-10.3 { | 571 do_test join-10.3 { |
572 execsql { | 572 execsql { |
573 SELECT * FROM t23 LEFT JOIN (SELECT * FROM t24); | 573 SELECT * FROM t23 LEFT JOIN (SELECT * FROM t24); |
574 } | 574 } |
575 } {1 2 3 {} {} {}} | 575 } {1 2 3 {} {} {}} |
576 | 576 |
577 } ;# ifcapable subquery | 577 } ;# ifcapable subquery |
578 | 578 |
| 579 #------------------------------------------------------------------------- |
| 580 # The following tests are to ensure that bug b73fb0bd64 is fixed. |
| 581 # |
| 582 do_test join-11.1 { |
| 583 drop_all_tables |
| 584 execsql { |
| 585 CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT); |
| 586 CREATE TABLE t2(a INTEGER PRIMARY KEY, b TEXT); |
| 587 INSERT INTO t1 VALUES(1,'abc'); |
| 588 INSERT INTO t1 VALUES(2,'def'); |
| 589 INSERT INTO t2 VALUES(1,'abc'); |
| 590 INSERT INTO t2 VALUES(2,'def'); |
| 591 SELECT * FROM t1 NATURAL JOIN t2; |
| 592 } |
| 593 } {1 abc 2 def} |
| 594 |
| 595 do_test join-11.2 { |
| 596 execsql { SELECT a FROM t1 JOIN t1 USING (a)} |
| 597 } {1 2} |
| 598 do_test join-11.3 { |
| 599 execsql { SELECT a FROM t1 JOIN t1 AS t2 USING (a)} |
| 600 } {1 2} |
| 601 do_test join-11.3 { |
| 602 execsql { SELECT * FROM t1 NATURAL JOIN t1 AS t2} |
| 603 } {1 abc 2 def} |
| 604 do_test join-11.4 { |
| 605 execsql { SELECT * FROM t1 NATURAL JOIN t1 } |
| 606 } {1 abc 2 def} |
| 607 |
| 608 do_test join-11.5 { |
| 609 drop_all_tables |
| 610 execsql { |
| 611 CREATE TABLE t1(a COLLATE nocase, b); |
| 612 CREATE TABLE t2(a, b); |
| 613 INSERT INTO t1 VALUES('ONE', 1); |
| 614 INSERT INTO t1 VALUES('two', 2); |
| 615 INSERT INTO t2 VALUES('one', 1); |
| 616 INSERT INTO t2 VALUES('two', 2); |
| 617 } |
| 618 } {} |
| 619 do_test join-11.6 { |
| 620 execsql { SELECT * FROM t1 NATURAL JOIN t2 } |
| 621 } {ONE 1 two 2} |
| 622 do_test join-11.7 { |
| 623 execsql { SELECT * FROM t2 NATURAL JOIN t1 } |
| 624 } {two 2} |
| 625 |
| 626 do_test join-11.8 { |
| 627 drop_all_tables |
| 628 execsql { |
| 629 CREATE TABLE t1(a, b TEXT); |
| 630 CREATE TABLE t2(b INTEGER, a); |
| 631 INSERT INTO t1 VALUES('one', '1.0'); |
| 632 INSERT INTO t1 VALUES('two', '2'); |
| 633 INSERT INTO t2 VALUES(1, 'one'); |
| 634 INSERT INTO t2 VALUES(2, 'two'); |
| 635 } |
| 636 } {} |
| 637 do_test join-11.9 { |
| 638 execsql { SELECT * FROM t1 NATURAL JOIN t2 } |
| 639 } {one 1.0 two 2} |
| 640 do_test join-11.10 { |
| 641 execsql { SELECT * FROM t2 NATURAL JOIN t1 } |
| 642 } {1 one 2 two} |
| 643 |
579 finish_test | 644 finish_test |
OLD | NEW |