Files
email-tracker/external/duckdb/test/sql/projection/select_star_replace.test
2025-10-24 19:21:19 -05:00

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.*