should be it
This commit is contained in:
46
external/duckdb/test/sql/generated_columns/virtual/rowid.test
vendored
Normal file
46
external/duckdb/test/sql/generated_columns/virtual/rowid.test
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
# name: test/sql/generated_columns/virtual/rowid.test
|
||||
# description: Create a generated column using the 'rowid' system column
|
||||
# group: [virtual]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
CREATE TABLE unit (price INTEGER, amount_sold INTEGER);
|
||||
|
||||
statement ok
|
||||
INSERT INTO unit VALUES (5,4)
|
||||
|
||||
statement ok
|
||||
INSERT INTO unit VALUES (4,5)
|
||||
|
||||
# Rowid as a system column is not supported
|
||||
statement error
|
||||
ALTER TABLE unit ADD COLUMN total_profit BIGINT GENERATED ALWAYS AS (price * rowid) VIRTUAL;
|
||||
----
|
||||
|
||||
statement ok
|
||||
ALTER TABLE unit ADD COLUMN rowid INTEGER;
|
||||
|
||||
# Cant create a generated column named 'rowid' that also tries to reference the 'rowid' system column
|
||||
statement error
|
||||
CREATE TABLE tbl (
|
||||
price INTEGER,
|
||||
rowid BIGINT GENERATED ALWAYS AS (rowid) VIRTUAL
|
||||
);
|
||||
----
|
||||
|
||||
# Reference a standard column named 'rowid'
|
||||
statement ok
|
||||
CREATE TABLE tbl (
|
||||
rowid INTEGER,
|
||||
index INTEGER GENERATED ALWAYS AS (rowid) VIRTUAL
|
||||
)
|
||||
|
||||
statement ok
|
||||
INSERT INTO tbl VALUES (5)
|
||||
|
||||
query I
|
||||
SELECT index FROM tbl;
|
||||
----
|
||||
5
|
||||
Reference in New Issue
Block a user