should be it
This commit is contained in:
150
external/duckdb/test/sql/projection/select_star_exclude.test
vendored
Normal file
150
external/duckdb/test/sql/projection/select_star_exclude.test
vendored
Normal file
@@ -0,0 +1,150 @@
|
||||
# name: test/sql/projection/select_star_exclude.test
|
||||
# description: SELECT * EXCLUDE
|
||||
# group: [projection]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
CREATE TABLE integers(i INTEGER, j INTEGER, k INTEGER)
|
||||
|
||||
statement ok
|
||||
INSERT INTO integers VALUES (1, 2, 3)
|
||||
|
||||
query II
|
||||
SELECT * EXCLUDE i FROM integers
|
||||
----
|
||||
2 3
|
||||
|
||||
query I
|
||||
SELECT * EXCLUDE (i, j) FROM integers
|
||||
----
|
||||
3
|
||||
|
||||
query II
|
||||
SELECT * EXCLUDE (j) FROM integers
|
||||
----
|
||||
1 3
|
||||
|
||||
query II
|
||||
SELECT * EXCLUDE (j) FROM integers
|
||||
----
|
||||
1 3
|
||||
|
||||
# case insensitive exclude
|
||||
query II
|
||||
SELECT * EXCLUDE ("J") FROM integers
|
||||
----
|
||||
1 3
|
||||
|
||||
# no columns remaining...
|
||||
statement error
|
||||
SELECT * EXCLUDE (i, j, k) FROM integers
|
||||
----
|
||||
|
||||
# same but with integers.*
|
||||
query II
|
||||
SELECT integers.* EXCLUDE (i) FROM integers
|
||||
----
|
||||
2 3
|
||||
|
||||
query II
|
||||
SELECT integers.* EXCLUDE ('i') FROM integers
|
||||
----
|
||||
2 3
|
||||
|
||||
query I
|
||||
SELECT integers.* EXCLUDE (i, j) FROM integers
|
||||
----
|
||||
3
|
||||
|
||||
query II
|
||||
SELECT integers.* EXCLUDE (j) FROM integers
|
||||
----
|
||||
1 3
|
||||
|
||||
query III
|
||||
SELECT integers.* EXCLUDE (i, j), * EXCLUDE (i, j), * EXCLUDE (i, k) FROM integers
|
||||
----
|
||||
3 3 2
|
||||
|
||||
statement error
|
||||
SELECT integers.* EXCLUDE (i, j, k) FROM integers
|
||||
----
|
||||
|
||||
# exclude but with multiple tables
|
||||
query II
|
||||
SELECT * EXCLUDE (i, j) FROM integers i1, integers i2
|
||||
----
|
||||
3 3
|
||||
|
||||
query I
|
||||
SELECT i1.* EXCLUDE (i, j), i2.* EXCLUDE (i, j, k) FROM integers i1, integers i2
|
||||
----
|
||||
3
|
||||
|
||||
query III
|
||||
SELECT i1.* EXCLUDE (i, j), i2.* EXCLUDE (k) FROM integers i1, integers i2
|
||||
----
|
||||
3 1 2
|
||||
|
||||
query IIII
|
||||
SELECT * EXCLUDE (i) FROM integers i1 JOIN integers i2 USING (i)
|
||||
----
|
||||
2 3 2 3
|
||||
|
||||
# qualified exclude entries
|
||||
query II
|
||||
SELECT * EXCLUDE integers.i FROM integers
|
||||
----
|
||||
2 3
|
||||
|
||||
query I
|
||||
SELECT * EXCLUDE (integers.i, integers.j) FROM integers
|
||||
----
|
||||
3
|
||||
|
||||
query I
|
||||
SELECT integers.* EXCLUDE (integers.i, integers.j) FROM integers
|
||||
----
|
||||
3
|
||||
|
||||
query I
|
||||
SELECT * EXCLUDE (INTEGERS.i, integers.J) FROM integers
|
||||
----
|
||||
3
|
||||
|
||||
statement error
|
||||
SELECT * EXCLUDE (integers.i, integers.j, integers2.i) FROM integers
|
||||
----
|
||||
not found in FROM clause
|
||||
|
||||
statement error
|
||||
SELECT * EXCLUDE (integers2.i) FROM integers
|
||||
----
|
||||
not found in FROM clause
|
||||
|
||||
query IIII
|
||||
SELECT * EXCLUDE (i1.i, i2.i) FROM integers i1 JOIN integers i2 USING (i)
|
||||
----
|
||||
2 3 2 3
|
||||
|
||||
# duplicate entry in exclude list
|
||||
statement error
|
||||
SELECT * EXCLUDE (i, i) FROM integers
|
||||
----
|
||||
Duplicate entry
|
||||
|
||||
statement error
|
||||
SELECT * EXCLUDE (integers.i, i) FROM integers
|
||||
----
|
||||
Duplicate entry
|
||||
|
||||
# column name that does not exist
|
||||
statement error
|
||||
SELECT * EXCLUDE (blabla) FROM integers
|
||||
----
|
||||
|
||||
statement error
|
||||
SELECT integers.* EXCLUDE (blabla) FROM integers
|
||||
----
|
||||
Reference in New Issue
Block a user