|
|
@ -62,12 +62,12 @@ CREATE TABLE CHECK_TBL (x int, |
|
|
|
INSERT INTO CHECK_TBL VALUES (5); |
|
|
|
INSERT INTO CHECK_TBL VALUES (5); |
|
|
|
INSERT INTO CHECK_TBL VALUES (4); |
|
|
|
INSERT INTO CHECK_TBL VALUES (4); |
|
|
|
INSERT INTO CHECK_TBL VALUES (3); |
|
|
|
INSERT INTO CHECK_TBL VALUES (3); |
|
|
|
ERROR: ExecInsert: rejected due to CHECK constraint check_con |
|
|
|
ERROR: ExecAppend: rejected due to CHECK constraint check_con |
|
|
|
INSERT INTO CHECK_TBL VALUES (2); |
|
|
|
INSERT INTO CHECK_TBL VALUES (2); |
|
|
|
ERROR: ExecInsert: rejected due to CHECK constraint check_con |
|
|
|
ERROR: ExecAppend: rejected due to CHECK constraint check_con |
|
|
|
INSERT INTO CHECK_TBL VALUES (6); |
|
|
|
INSERT INTO CHECK_TBL VALUES (6); |
|
|
|
INSERT INTO CHECK_TBL VALUES (1); |
|
|
|
INSERT INTO CHECK_TBL VALUES (1); |
|
|
|
ERROR: ExecInsert: rejected due to CHECK constraint check_con |
|
|
|
ERROR: ExecAppend: rejected due to CHECK constraint check_con |
|
|
|
SELECT '' AS three, * FROM CHECK_TBL; |
|
|
|
SELECT '' AS three, * FROM CHECK_TBL; |
|
|
|
three | x |
|
|
|
three | x |
|
|
|
-------+--- |
|
|
|
-------+--- |
|
|
@ -82,13 +82,13 @@ CREATE TABLE CHECK2_TBL (x int, y text, z int, |
|
|
|
CHECK (x > 3 and y <> 'check failed' and z < 8)); |
|
|
|
CHECK (x > 3 and y <> 'check failed' and z < 8)); |
|
|
|
INSERT INTO CHECK2_TBL VALUES (4, 'check ok', -2); |
|
|
|
INSERT INTO CHECK2_TBL VALUES (4, 'check ok', -2); |
|
|
|
INSERT INTO CHECK2_TBL VALUES (1, 'x check failed', -2); |
|
|
|
INSERT INTO CHECK2_TBL VALUES (1, 'x check failed', -2); |
|
|
|
ERROR: ExecInsert: rejected due to CHECK constraint sequence_con |
|
|
|
ERROR: ExecAppend: rejected due to CHECK constraint sequence_con |
|
|
|
INSERT INTO CHECK2_TBL VALUES (5, 'z check failed', 10); |
|
|
|
INSERT INTO CHECK2_TBL VALUES (5, 'z check failed', 10); |
|
|
|
ERROR: ExecInsert: rejected due to CHECK constraint sequence_con |
|
|
|
ERROR: ExecAppend: rejected due to CHECK constraint sequence_con |
|
|
|
INSERT INTO CHECK2_TBL VALUES (0, 'check failed', -2); |
|
|
|
INSERT INTO CHECK2_TBL VALUES (0, 'check failed', -2); |
|
|
|
ERROR: ExecInsert: rejected due to CHECK constraint sequence_con |
|
|
|
ERROR: ExecAppend: rejected due to CHECK constraint sequence_con |
|
|
|
INSERT INTO CHECK2_TBL VALUES (6, 'check failed', 11); |
|
|
|
INSERT INTO CHECK2_TBL VALUES (6, 'check failed', 11); |
|
|
|
ERROR: ExecInsert: rejected due to CHECK constraint sequence_con |
|
|
|
ERROR: ExecAppend: rejected due to CHECK constraint sequence_con |
|
|
|
INSERT INTO CHECK2_TBL VALUES (7, 'check ok', 7); |
|
|
|
INSERT INTO CHECK2_TBL VALUES (7, 'check ok', 7); |
|
|
|
SELECT '' AS two, * from CHECK2_TBL; |
|
|
|
SELECT '' AS two, * from CHECK2_TBL; |
|
|
|
two | x | y | z |
|
|
|
two | x | y | z |
|
|
@ -107,7 +107,7 @@ CREATE TABLE INSERT_TBL (x INT DEFAULT nextval('insert_seq'), |
|
|
|
CONSTRAINT INSERT_CON CHECK (x >= 3 AND y <> 'check failed' AND x < 8), |
|
|
|
CONSTRAINT INSERT_CON CHECK (x >= 3 AND y <> 'check failed' AND x < 8), |
|
|
|
CHECK (x + z = 0)); |
|
|
|
CHECK (x + z = 0)); |
|
|
|
INSERT INTO INSERT_TBL(x,z) VALUES (2, -2); |
|
|
|
INSERT INTO INSERT_TBL(x,z) VALUES (2, -2); |
|
|
|
ERROR: ExecInsert: rejected due to CHECK constraint insert_con |
|
|
|
ERROR: ExecAppend: rejected due to CHECK constraint insert_con |
|
|
|
SELECT '' AS zero, * FROM INSERT_TBL; |
|
|
|
SELECT '' AS zero, * FROM INSERT_TBL; |
|
|
|
zero | x | y | z |
|
|
|
zero | x | y | z |
|
|
|
------+---+---+--- |
|
|
|
------+---+---+--- |
|
|
@ -120,13 +120,13 @@ SELECT 'one' AS one, nextval('insert_seq'); |
|
|
|
(1 row) |
|
|
|
(1 row) |
|
|
|
|
|
|
|
|
|
|
|
INSERT INTO INSERT_TBL(y) VALUES ('Y'); |
|
|
|
INSERT INTO INSERT_TBL(y) VALUES ('Y'); |
|
|
|
ERROR: ExecInsert: rejected due to CHECK constraint insert_con |
|
|
|
ERROR: ExecAppend: rejected due to CHECK constraint insert_con |
|
|
|
INSERT INTO INSERT_TBL(y) VALUES ('Y'); |
|
|
|
INSERT INTO INSERT_TBL(y) VALUES ('Y'); |
|
|
|
INSERT INTO INSERT_TBL(x,z) VALUES (1, -2); |
|
|
|
INSERT INTO INSERT_TBL(x,z) VALUES (1, -2); |
|
|
|
ERROR: ExecInsert: rejected due to CHECK constraint $2 |
|
|
|
ERROR: ExecAppend: rejected due to CHECK constraint $2 |
|
|
|
INSERT INTO INSERT_TBL(z,x) VALUES (-7, 7); |
|
|
|
INSERT INTO INSERT_TBL(z,x) VALUES (-7, 7); |
|
|
|
INSERT INTO INSERT_TBL VALUES (5, 'check failed', -5); |
|
|
|
INSERT INTO INSERT_TBL VALUES (5, 'check failed', -5); |
|
|
|
ERROR: ExecInsert: rejected due to CHECK constraint insert_con |
|
|
|
ERROR: ExecAppend: rejected due to CHECK constraint insert_con |
|
|
|
INSERT INTO INSERT_TBL VALUES (7, '!check failed', -7); |
|
|
|
INSERT INTO INSERT_TBL VALUES (7, '!check failed', -7); |
|
|
|
INSERT INTO INSERT_TBL(y) VALUES ('-!NULL-'); |
|
|
|
INSERT INTO INSERT_TBL(y) VALUES ('-!NULL-'); |
|
|
|
SELECT '' AS four, * FROM INSERT_TBL; |
|
|
|
SELECT '' AS four, * FROM INSERT_TBL; |
|
|
@ -139,9 +139,9 @@ SELECT '' AS four, * FROM INSERT_TBL; |
|
|
|
(4 rows) |
|
|
|
(4 rows) |
|
|
|
|
|
|
|
|
|
|
|
INSERT INTO INSERT_TBL(y,z) VALUES ('check failed', 4); |
|
|
|
INSERT INTO INSERT_TBL(y,z) VALUES ('check failed', 4); |
|
|
|
ERROR: ExecInsert: rejected due to CHECK constraint $2 |
|
|
|
ERROR: ExecAppend: rejected due to CHECK constraint $2 |
|
|
|
INSERT INTO INSERT_TBL(x,y) VALUES (5, 'check failed'); |
|
|
|
INSERT INTO INSERT_TBL(x,y) VALUES (5, 'check failed'); |
|
|
|
ERROR: ExecInsert: rejected due to CHECK constraint insert_con |
|
|
|
ERROR: ExecAppend: rejected due to CHECK constraint insert_con |
|
|
|
INSERT INTO INSERT_TBL(x,y) VALUES (5, '!check failed'); |
|
|
|
INSERT INTO INSERT_TBL(x,y) VALUES (5, '!check failed'); |
|
|
|
INSERT INTO INSERT_TBL(y) VALUES ('-!NULL-'); |
|
|
|
INSERT INTO INSERT_TBL(y) VALUES ('-!NULL-'); |
|
|
|
SELECT '' AS six, * FROM INSERT_TBL; |
|
|
|
SELECT '' AS six, * FROM INSERT_TBL; |
|
|
@ -162,7 +162,7 @@ SELECT 'seven' AS one, nextval('insert_seq'); |
|
|
|
(1 row) |
|
|
|
(1 row) |
|
|
|
|
|
|
|
|
|
|
|
INSERT INTO INSERT_TBL(y) VALUES ('Y'); |
|
|
|
INSERT INTO INSERT_TBL(y) VALUES ('Y'); |
|
|
|
ERROR: ExecInsert: rejected due to CHECK constraint insert_con |
|
|
|
ERROR: ExecAppend: rejected due to CHECK constraint insert_con |
|
|
|
SELECT 'eight' AS one, currval('insert_seq'); |
|
|
|
SELECT 'eight' AS one, currval('insert_seq'); |
|
|
|
one | currval |
|
|
|
one | currval |
|
|
|
-------+--------- |
|
|
|
-------+--------- |
|
|
@ -193,11 +193,11 @@ CREATE TABLE INSERT_CHILD (cx INT default 42, |
|
|
|
INHERITS (INSERT_TBL); |
|
|
|
INHERITS (INSERT_TBL); |
|
|
|
INSERT INTO INSERT_CHILD(x,z,cy) VALUES (7,-7,11); |
|
|
|
INSERT INTO INSERT_CHILD(x,z,cy) VALUES (7,-7,11); |
|
|
|
INSERT INTO INSERT_CHILD(x,z,cy) VALUES (7,-7,6); |
|
|
|
INSERT INTO INSERT_CHILD(x,z,cy) VALUES (7,-7,6); |
|
|
|
ERROR: ExecInsert: rejected due to CHECK constraint insert_child_cy |
|
|
|
ERROR: ExecAppend: rejected due to CHECK constraint insert_child_cy |
|
|
|
INSERT INTO INSERT_CHILD(x,z,cy) VALUES (6,-7,7); |
|
|
|
INSERT INTO INSERT_CHILD(x,z,cy) VALUES (6,-7,7); |
|
|
|
ERROR: ExecInsert: rejected due to CHECK constraint $1 |
|
|
|
ERROR: ExecAppend: rejected due to CHECK constraint $1 |
|
|
|
INSERT INTO INSERT_CHILD(x,y,z,cy) VALUES (6,'check failed',-6,7); |
|
|
|
INSERT INTO INSERT_CHILD(x,y,z,cy) VALUES (6,'check failed',-6,7); |
|
|
|
ERROR: ExecInsert: rejected due to CHECK constraint insert_con |
|
|
|
ERROR: ExecAppend: rejected due to CHECK constraint insert_con |
|
|
|
SELECT * FROM INSERT_CHILD; |
|
|
|
SELECT * FROM INSERT_CHILD; |
|
|
|
x | y | z | cx | cy |
|
|
|
x | y | z | cx | cy |
|
|
|
---+--------+----+----+---- |
|
|
|
---+--------+----+----+---- |
|
|
@ -227,7 +227,7 @@ SELECT '' AS three, * FROM INSERT_TBL; |
|
|
|
INSERT INTO INSERT_TBL SELECT * FROM tmp WHERE yd = 'try again'; |
|
|
|
INSERT INTO INSERT_TBL SELECT * FROM tmp WHERE yd = 'try again'; |
|
|
|
INSERT INTO INSERT_TBL(y,z) SELECT yd, -7 FROM tmp WHERE yd = 'try again'; |
|
|
|
INSERT INTO INSERT_TBL(y,z) SELECT yd, -7 FROM tmp WHERE yd = 'try again'; |
|
|
|
INSERT INTO INSERT_TBL(y,z) SELECT yd, -8 FROM tmp WHERE yd = 'try again'; |
|
|
|
INSERT INTO INSERT_TBL(y,z) SELECT yd, -8 FROM tmp WHERE yd = 'try again'; |
|
|
|
ERROR: ExecInsert: rejected due to CHECK constraint insert_con |
|
|
|
ERROR: ExecAppend: rejected due to CHECK constraint insert_con |
|
|
|
SELECT '' AS four, * FROM INSERT_TBL; |
|
|
|
SELECT '' AS four, * FROM INSERT_TBL; |
|
|
|
four | x | y | z |
|
|
|
four | x | y | z |
|
|
|
------+---+---------------+---- |
|
|
|
------+---+---------------+---- |
|
|
@ -246,7 +246,7 @@ UPDATE INSERT_TBL SET x = NULL WHERE x = 5; |
|
|
|
UPDATE INSERT_TBL SET x = 6 WHERE x = 6; |
|
|
|
UPDATE INSERT_TBL SET x = 6 WHERE x = 6; |
|
|
|
UPDATE INSERT_TBL SET x = -z, z = -x; |
|
|
|
UPDATE INSERT_TBL SET x = -z, z = -x; |
|
|
|
UPDATE INSERT_TBL SET x = z, z = x; |
|
|
|
UPDATE INSERT_TBL SET x = z, z = x; |
|
|
|
ERROR: ExecUpdate: rejected due to CHECK constraint insert_con |
|
|
|
ERROR: ExecReplace: rejected due to CHECK constraint insert_con |
|
|
|
SELECT * FROM INSERT_TBL; |
|
|
|
SELECT * FROM INSERT_TBL; |
|
|
|
x | y | z |
|
|
|
x | y | z |
|
|
|
---+---------------+---- |
|
|
|
---+---------------+---- |
|
|
@ -293,7 +293,7 @@ ERROR: Cannot insert a duplicate key into unique index primary_tbl_pkey |
|
|
|
INSERT INTO PRIMARY_TBL VALUES (4, 'three'); |
|
|
|
INSERT INTO PRIMARY_TBL VALUES (4, 'three'); |
|
|
|
INSERT INTO PRIMARY_TBL VALUES (5, 'one'); |
|
|
|
INSERT INTO PRIMARY_TBL VALUES (5, 'one'); |
|
|
|
INSERT INTO PRIMARY_TBL (t) VALUES ('six'); |
|
|
|
INSERT INTO PRIMARY_TBL (t) VALUES ('six'); |
|
|
|
ERROR: ExecInsert: Fail to add null value in not null attribute i |
|
|
|
ERROR: ExecAppend: Fail to add null value in not null attribute i |
|
|
|
SELECT '' AS four, * FROM PRIMARY_TBL; |
|
|
|
SELECT '' AS four, * FROM PRIMARY_TBL; |
|
|
|
four | i | t |
|
|
|
four | i | t |
|
|
|
------+---+------- |
|
|
|
------+---+------- |
|
|
@ -313,7 +313,7 @@ INSERT INTO PRIMARY_TBL VALUES (1, 'three'); |
|
|
|
INSERT INTO PRIMARY_TBL VALUES (4, 'three'); |
|
|
|
INSERT INTO PRIMARY_TBL VALUES (4, 'three'); |
|
|
|
INSERT INTO PRIMARY_TBL VALUES (5, 'one'); |
|
|
|
INSERT INTO PRIMARY_TBL VALUES (5, 'one'); |
|
|
|
INSERT INTO PRIMARY_TBL (t) VALUES ('six'); |
|
|
|
INSERT INTO PRIMARY_TBL (t) VALUES ('six'); |
|
|
|
ERROR: ExecInsert: Fail to add null value in not null attribute i |
|
|
|
ERROR: ExecAppend: Fail to add null value in not null attribute i |
|
|
|
SELECT '' AS three, * FROM PRIMARY_TBL; |
|
|
|
SELECT '' AS three, * FROM PRIMARY_TBL; |
|
|
|
three | i | t |
|
|
|
three | i | t |
|
|
|
-------+---+------- |
|
|
|
-------+---+------- |
|
|
|