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

51 lines
867 B
SQL

# name: test/sql/upsert/upsert_explicit_index.test
# description: Test index UPSERTs.
# group: [upsert]
statement ok
pragma enable_verification;
statement ok
CREATE TABLE tbl (i INT, j INT);
statement ok
INSERT INTO tbl VALUES (5, 3), (3, 2);
statement ok
CREATE UNIQUE INDEX my_index ON tbl(i);
statement ok
INSERT INTO tbl VALUES (5, 2) ON CONFLICT (i) DO UPDATE SET j = 10;
query II
SELECT i, j FROM tbl ORDER BY ALL DESC;
----
5 10
3 2
statement ok
DROP TABLE tbl CASCADE;
statement ok
CREATE TABLE tbl (i INT PRIMARY KEY, j INT);
statement ok
INSERT INTO tbl VALUES (42, 21), (21, 42);
statement ok
CREATE INDEX my_index ON tbl(j);
statement ok
INSERT INTO tbl VALUES (42, 20) ON CONFLICT DO UPDATE SET j = 30;
query III
SELECT i, j, rowid FROM tbl WHERE j = 30;
----
42 30 2
query III
SELECT i, j, rowid FROM tbl ORDER BY ALL;
----
21 42 1
42 30 2