should be it
This commit is contained in:
27
external/duckdb/test/sql/constraints/check/check_struct.test
vendored
Normal file
27
external/duckdb/test/sql/constraints/check/check_struct.test
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
# name: test/sql/constraints/check/check_struct.test
|
||||
# description: CHECK constraint on structs
|
||||
# group: [check]
|
||||
|
||||
statement ok
|
||||
CREATE TABLE tbl(t ROW(t INTEGER) CHECK(t.t=42));
|
||||
|
||||
statement error
|
||||
INSERT INTO tbl VALUES ({'t': 43})
|
||||
----
|
||||
|
||||
statement ok
|
||||
INSERT INTO tbl VALUES ({'t': 42})
|
||||
|
||||
statement ok
|
||||
DROP TABLE tbl;
|
||||
|
||||
# we can also do this while referencing the table name
|
||||
statement ok
|
||||
CREATE TABLE tbl(t ROW(t INTEGER) CHECK(tbl.t.t=42));
|
||||
|
||||
statement error
|
||||
INSERT INTO tbl VALUES ({'t': 43})
|
||||
----
|
||||
|
||||
statement ok
|
||||
INSERT INTO tbl VALUES ({'t': 42})
|
||||
74
external/duckdb/test/sql/constraints/check/test_check.test
vendored
Normal file
74
external/duckdb/test/sql/constraints/check/test_check.test
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
# name: test/sql/constraints/check/test_check.test
|
||||
# description: CHECK constraint
|
||||
# group: [check]
|
||||
|
||||
statement ok
|
||||
CREATE TABLE integers(i INTEGER CHECK(i < 5))
|
||||
|
||||
statement ok
|
||||
INSERT INTO integers VALUES (3)
|
||||
|
||||
statement error
|
||||
INSERT INTO integers VALUES (7)
|
||||
----
|
||||
|
||||
statement ok
|
||||
INSERT INTO integers VALUES (NULL)
|
||||
|
||||
query I
|
||||
SELECT * FROM integers
|
||||
----
|
||||
3
|
||||
NULL
|
||||
|
||||
statement ok
|
||||
DROP TABLE integers;
|
||||
|
||||
statement ok
|
||||
CREATE TABLE integers(i INTEGER CHECK(i + j < 10), j INTEGER)
|
||||
|
||||
statement ok
|
||||
INSERT INTO integers VALUES (3, 3)
|
||||
|
||||
statement error
|
||||
INSERT INTO integers VALUES (5, 5)
|
||||
----
|
||||
|
||||
statement error
|
||||
INSERT INTO integers VALUES (3, 3), (5, 5)
|
||||
----
|
||||
|
||||
query II
|
||||
SELECT * FROM integers
|
||||
----
|
||||
3 3
|
||||
|
||||
statement error
|
||||
CREATE TABLE indirect_subq(
|
||||
i INTEGER,
|
||||
CHECK (i > (2 * (SELECT(1))))
|
||||
);
|
||||
----
|
||||
|
||||
statement error
|
||||
CREATE TABLE integers2(i INTEGER CHECK(i > (SELECT 42)), j INTEGER)
|
||||
----
|
||||
|
||||
statement error
|
||||
CREATE TABLE integers2(i INTEGER CHECK(i > SUM(j)), j INTEGER)
|
||||
----
|
||||
|
||||
statement error
|
||||
CREATE TABLE integers3(i INTEGER CHECK(k < 10), j INTEGER)
|
||||
----
|
||||
|
||||
statement error
|
||||
CREATE TABLE integers3(i INTEGER CHECK(integers3.k < 10), j INTEGER)
|
||||
----
|
||||
|
||||
statement error
|
||||
CREATE TABLE integers3(i INTEGER CHECK(integers2.i < 10), j INTEGER)
|
||||
----
|
||||
|
||||
statement ok
|
||||
CREATE TABLE integers4(i INTEGER CHECK(integers4.i < 10), j INTEGER)
|
||||
Reference in New Issue
Block a user