1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
# name: test/sql/generated_columns/virtual/check.test
# description: Test generated columns with the CHECK constraint
# group: [virtual]
statement ok
PRAGMA enable_verification
#Check constraint involving a generated column is not supported
# Using a CHECK constraint that doesnt involve the generated column itself is fine
statement ok
CREATE TABLE unit (
price INTEGER,
amount_sold AS (price) CHECK (price > 5),
);
# When it references a generated column, it fails
statement error
CREATE TABLE tbl (
price INTEGER,
amount_sold AS (price) CHECK (amount_sold > 5)
);
----
<REGEX>:.*Binder Error.*Constraints on generated columns.*
# Also when used in this way
statement error
CREATE TABLE tbl (
price INTEGER,
amount_sold AS (price),
CHECK (amount_sold > price)
);
----
<REGEX>:.*Binder Error.*Constraints on generated columns.*
statement ok
CREATE TABLE chk (
g1 AS (x),
g2 AS (x),
x INTEGER,
CHECK (x > 5)
);
statement ok
INSERT INTO chk VALUES (6);
statement error
INSERT INTO chk VALUES (3);
----
<REGEX>:.*Constraint Error.*constraint failed.*
|