# 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