55 lines
1.2 KiB
SQL
55 lines
1.2 KiB
SQL
# name: test/sql/projection/select_star_replace.test
|
|
# description: SELECT * REPLACE
|
|
# 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 III
|
|
SELECT * REPLACE i+100 AS i FROM integers
|
|
----
|
|
101 2 3
|
|
|
|
query IIII
|
|
SELECT * EXCLUDE (j, k) REPLACE (i+100 AS i), * EXCLUDE (j) REPLACE (i+100 AS i), * EXCLUDE (j, k) REPLACE (i+101 AS i) FROM integers
|
|
----
|
|
101 101 3 102
|
|
|
|
query III
|
|
SELECT * REPLACE (i+100 AS i, j+200 AS "J") FROM integers
|
|
----
|
|
101 202 3
|
|
|
|
query III
|
|
SELECT integers.* REPLACE (i+100 AS i) FROM integers
|
|
----
|
|
101 2 3
|
|
|
|
# duplicate entry in replace list
|
|
statement error
|
|
SELECT * REPLACE (i+100 AS i, i+200 AS i) FROM integers
|
|
----
|
|
<REGEX>:.*Parser Error.*Duplicate entry.*
|
|
|
|
# replace name that does not exist
|
|
statement error
|
|
SELECT * REPLACE (i+100 AS blabla) FROM integers
|
|
----
|
|
<REGEX>:.*Binder Error.*not found in FROM clause.*
|
|
|
|
statement error
|
|
SELECT integers.* REPLACE (i+100 AS blabla) FROM integers
|
|
----
|
|
<REGEX>:.*Binder Error.*not found in integers.*
|
|
|
|
# column cannot occur in both exclude and replace list
|
|
statement error
|
|
SELECT * EXCLUDE (i) REPLACE (i+100 AS i) FROM integers
|
|
----
|
|
<REGEX>:.*Parser Error.*cannot occur in both.* |