mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-29 08:01:23 +03:00
Expand table.* properly on a USING or a NATURAL join. Ticket #3522. (CVS 5979)
FossilOrigin-Name: 06d206ef7d5e433ccde347d63dfcd2177545e1fd
This commit is contained in:
@ -12,7 +12,7 @@
|
||||
#
|
||||
# This file implements tests for joins, including outer joins.
|
||||
#
|
||||
# $Id: join.test,v 1.25 2008/08/14 00:19:49 drh Exp $
|
||||
# $Id: join.test,v 1.26 2008/12/05 00:00:07 drh Exp $
|
||||
|
||||
set testdir [file dirname $argv0]
|
||||
source $testdir/tester.tcl
|
||||
@ -61,6 +61,40 @@ do_test join-1.3.4 {
|
||||
SELECT b FROM t1 NATURAL JOIN t2;
|
||||
}
|
||||
} {2 3}
|
||||
|
||||
# ticket #3522
|
||||
do_test join-1.3.5 {
|
||||
execsql2 {
|
||||
SELECT t2.* FROM t2 NATURAL JOIN t1
|
||||
}
|
||||
} {b 2 c 3 d 4 b 3 c 4 d 5}
|
||||
do_test join-1.3.6 {
|
||||
execsql2 {
|
||||
SELECT xyzzy.* FROM t2 AS xyzzy NATURAL JOIN t1
|
||||
}
|
||||
} {b 2 c 3 d 4 b 3 c 4 d 5}
|
||||
do_test join-1.3.7 {
|
||||
execsql2 {
|
||||
SELECT t1.* FROM t2 NATURAL JOIN t1
|
||||
}
|
||||
} {a 1 b 2 c 3 a 2 b 3 c 4}
|
||||
do_test join-1.3.8 {
|
||||
execsql2 {
|
||||
SELECT xyzzy.* FROM t2 NATURAL JOIN t1 AS xyzzy
|
||||
}
|
||||
} {a 1 b 2 c 3 a 2 b 3 c 4}
|
||||
do_test join-1.3.9 {
|
||||
execsql2 {
|
||||
SELECT aaa.*, bbb.* FROM t2 AS aaa NATURAL JOIN t1 AS bbb
|
||||
}
|
||||
} {b 2 c 3 d 4 a 1 b 2 c 3 b 3 c 4 d 5 a 2 b 3 c 4}
|
||||
do_test join-1.3.10 {
|
||||
execsql2 {
|
||||
SELECT t1.*, t2.* FROM t2 NATURAL JOIN t1
|
||||
}
|
||||
} {a 1 b 2 c 3 b 2 c 3 d 4 a 2 b 3 c 4 b 3 c 4 d 5}
|
||||
|
||||
|
||||
do_test join-1.4.1 {
|
||||
execsql2 {
|
||||
SELECT * FROM t1 INNER JOIN t2 USING(b,c);
|
||||
@ -86,6 +120,19 @@ do_test join-1.4.5 {
|
||||
SELECT b FROM t1 JOIN t2 USING(b);
|
||||
}
|
||||
} {2 3}
|
||||
|
||||
# Ticket #3522
|
||||
do_test join-1.4.6 {
|
||||
execsql2 {
|
||||
SELECT t1.* FROM t1 JOIN t2 USING(b);
|
||||
}
|
||||
} {a 1 b 2 c 3 a 2 b 3 c 4}
|
||||
do_test join-1.4.7 {
|
||||
execsql2 {
|
||||
SELECT t2.* FROM t1 JOIN t2 USING(b);
|
||||
}
|
||||
} {b 2 c 3 d 4 b 3 c 4 d 5}
|
||||
|
||||
do_test join-1.5 {
|
||||
execsql2 {
|
||||
SELECT * FROM t1 INNER JOIN t2 USING(b);
|
||||
@ -192,6 +239,24 @@ do_test join-2.1 {
|
||||
SELECT * FROM t1 NATURAL LEFT JOIN t2;
|
||||
}
|
||||
} {1 2 3 4 2 3 4 5 3 4 5 {}}
|
||||
|
||||
# ticket #3522
|
||||
do_test join-2.1.1 {
|
||||
execsql2 {
|
||||
SELECT * FROM t1 NATURAL LEFT JOIN t2;
|
||||
}
|
||||
} {a 1 b 2 c 3 d 4 a 2 b 3 c 4 d 5 a 3 b 4 c 5 d {}}
|
||||
do_test join-2.1.2 {
|
||||
execsql2 {
|
||||
SELECT t1.* FROM t1 NATURAL LEFT JOIN t2;
|
||||
}
|
||||
} {a 1 b 2 c 3 a 2 b 3 c 4 a 3 b 4 c 5}
|
||||
do_test join-2.1.3 {
|
||||
execsql2 {
|
||||
SELECT t2.* FROM t1 NATURAL LEFT JOIN t2;
|
||||
}
|
||||
} {b 2 c 3 d 4 b 3 c 4 d 5 b {} c {} d {}}
|
||||
|
||||
do_test join-2.2 {
|
||||
execsql {
|
||||
SELECT * FROM t2 NATURAL LEFT OUTER JOIN t1;
|
||||
|
Reference in New Issue
Block a user