mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-29 08:01:23 +03:00
Return an error if a CTE specifies a different number of columns than its SELECT statement returns.
FossilOrigin-Name: 9a514b50e4b01f109fbdb0aabcbfe1ddab129b44
This commit is contained in:
@ -164,6 +164,42 @@ do_execsql_test 5.5 {
|
||||
SELECT x FROM i LIMIT 20;
|
||||
} {1 2 3 4 5 6 7 8 9 0}
|
||||
|
||||
do_catchsql_test 5.6.1 {
|
||||
WITH i(x, y) AS ( VALUES(1) )
|
||||
SELECT * FROM i;
|
||||
} {1 {cte "i" returns 1 values for 2 columns}}
|
||||
|
||||
do_catchsql_test 5.6.2 {
|
||||
WITH i(x) AS ( VALUES(1,2) )
|
||||
SELECT * FROM i;
|
||||
} {1 {cte "i" returns 2 values for 1 columns}}
|
||||
|
||||
do_catchsql_test 5.6.3 {
|
||||
CREATE TABLE t5(a, b);
|
||||
WITH i(x) AS ( SELECT * FROM t5 )
|
||||
SELECT * FROM i;
|
||||
} {1 {cte "i" returns 2 values for 1 columns}}
|
||||
|
||||
do_catchsql_test 5.6.4 {
|
||||
WITH i(x) AS ( SELECT 1, 2 UNION ALL SELECT 1 )
|
||||
SELECT * FROM i;
|
||||
} {1 {cte "i" returns 2 values for 1 columns}}
|
||||
|
||||
do_catchsql_test 5.6.5 {
|
||||
WITH i(x) AS ( SELECT 1 UNION ALL SELECT 1, 2 )
|
||||
SELECT * FROM i;
|
||||
} {1 {SELECTs to the left and right of UNION ALL do not have the same number of result columns}}
|
||||
|
||||
do_catchsql_test 5.6.6 {
|
||||
WITH i(x) AS ( SELECT 1 UNION ALL SELECT x+1, x*2 FROM i )
|
||||
SELECT * FROM i;
|
||||
} {1 {SELECTs to the left and right of UNION ALL do not have the same number of result columns}}
|
||||
|
||||
do_catchsql_test 5.6.7 {
|
||||
WITH i(x) AS ( SELECT 1, 2 UNION SELECT x+1 FROM i )
|
||||
SELECT * FROM i;
|
||||
} {1 {cte "i" returns 2 values for 1 columns}}
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
#
|
||||
do_execsql_test 6.1 {
|
||||
|
Reference in New Issue
Block a user