Index: src/backend/executor/execMain.c =================================================================== RCS file: /projects/cvsroot/pgsql/src/backend/executor/execMain.c,v retrieving revision 1.171 diff -c -r1.171 execMain.c *** src/backend/executor/execMain.c 2002/07/20 05:16:57 1.171 --- src/backend/executor/execMain.c 2002/08/01 03:20:15 *************** *** 1582,1589 **** char *failed; if ((failed = ExecRelCheck(resultRelInfo, slot, estate)) != NULL) ! elog(ERROR, "%s: rejected due to CHECK constraint %s", ! caller, failed); } } --- 1582,1589 ---- char *failed; if ((failed = ExecRelCheck(resultRelInfo, slot, estate)) != NULL) ! elog(ERROR, "%s: rejected due to CHECK constraint \"%s\" on \"%s\"", ! caller, failed, RelationGetRelationName(rel)); } } Index: src/test/regress/output/constraints.source =================================================================== RCS file: /projects/cvsroot/pgsql/src/test/regress/output/constraints.source,v retrieving revision 1.28 diff -c -r1.28 constraints.source *** src/test/regress/output/constraints.source 2002/07/12 18:43:19 1.28 --- src/test/regress/output/constraints.source 2002/08/01 03:20:15 *************** *** 62,73 **** INSERT INTO CHECK_TBL VALUES (5); INSERT INTO CHECK_TBL VALUES (4); INSERT INTO CHECK_TBL VALUES (3); ! ERROR: ExecInsert: rejected due to CHECK constraint check_con INSERT INTO CHECK_TBL VALUES (2); ! ERROR: ExecInsert: rejected due to CHECK constraint check_con INSERT INTO CHECK_TBL VALUES (6); INSERT INTO CHECK_TBL VALUES (1); ! ERROR: ExecInsert: rejected due to CHECK constraint check_con SELECT '' AS three, * FROM CHECK_TBL; three | x -------+--- --- 62,73 ---- INSERT INTO CHECK_TBL VALUES (5); INSERT INTO CHECK_TBL VALUES (4); INSERT INTO CHECK_TBL VALUES (3); ! ERROR: ExecInsert: rejected due to CHECK constraint "check_con" on "check_tbl" INSERT INTO CHECK_TBL VALUES (2); ! ERROR: ExecInsert: rejected due to CHECK constraint "check_con" on "check_tbl" INSERT INTO CHECK_TBL VALUES (6); INSERT INTO CHECK_TBL VALUES (1); ! ERROR: ExecInsert: rejected due to CHECK constraint "check_con" on "check_tbl" SELECT '' AS three, * FROM CHECK_TBL; three | x -------+--- *************** *** 82,94 **** CHECK (x > 3 and y <> 'check failed' and z < 8)); INSERT INTO CHECK2_TBL VALUES (4, 'check ok', -2); INSERT INTO CHECK2_TBL VALUES (1, 'x check failed', -2); ! ERROR: ExecInsert: rejected due to CHECK constraint sequence_con INSERT INTO CHECK2_TBL VALUES (5, 'z check failed', 10); ! ERROR: ExecInsert: rejected due to CHECK constraint sequence_con INSERT INTO CHECK2_TBL VALUES (0, 'check failed', -2); ! ERROR: ExecInsert: rejected due to CHECK constraint sequence_con INSERT INTO CHECK2_TBL VALUES (6, 'check failed', 11); ! ERROR: ExecInsert: rejected due to CHECK constraint sequence_con INSERT INTO CHECK2_TBL VALUES (7, 'check ok', 7); SELECT '' AS two, * from CHECK2_TBL; two | x | y | z --- 82,94 ---- CHECK (x > 3 and y <> 'check failed' and z < 8)); INSERT INTO CHECK2_TBL VALUES (4, 'check ok', -2); INSERT INTO CHECK2_TBL VALUES (1, 'x check failed', -2); ! ERROR: ExecInsert: rejected due to CHECK constraint "sequence_con" on "check2_tbl" INSERT INTO CHECK2_TBL VALUES (5, 'z check failed', 10); ! ERROR: ExecInsert: rejected due to CHECK constraint "sequence_con" on "check2_tbl" INSERT INTO CHECK2_TBL VALUES (0, 'check failed', -2); ! ERROR: ExecInsert: rejected due to CHECK constraint "sequence_con" on "check2_tbl" INSERT INTO CHECK2_TBL VALUES (6, 'check failed', 11); ! ERROR: ExecInsert: rejected due to CHECK constraint "sequence_con" on "check2_tbl" INSERT INTO CHECK2_TBL VALUES (7, 'check ok', 7); SELECT '' AS two, * from CHECK2_TBL; two | x | y | z *************** *** 107,113 **** CONSTRAINT INSERT_CON CHECK (x >= 3 AND y <> 'check failed' AND x < 8), CHECK (x + z = 0)); INSERT INTO INSERT_TBL(x,z) VALUES (2, -2); ! ERROR: ExecInsert: rejected due to CHECK constraint insert_con SELECT '' AS zero, * FROM INSERT_TBL; zero | x | y | z ------+---+---+--- --- 107,113 ---- CONSTRAINT INSERT_CON CHECK (x >= 3 AND y <> 'check failed' AND x < 8), CHECK (x + z = 0)); INSERT INTO INSERT_TBL(x,z) VALUES (2, -2); ! ERROR: ExecInsert: rejected due to CHECK constraint "insert_con" on "insert_tbl" SELECT '' AS zero, * FROM INSERT_TBL; zero | x | y | z ------+---+---+--- *************** *** 120,132 **** (1 row) INSERT INTO INSERT_TBL(y) VALUES ('Y'); ! ERROR: ExecInsert: rejected due to CHECK constraint insert_con INSERT INTO INSERT_TBL(y) VALUES ('Y'); INSERT INTO INSERT_TBL(x,z) VALUES (1, -2); ! ERROR: ExecInsert: rejected due to CHECK constraint $1 INSERT INTO INSERT_TBL(z,x) VALUES (-7, 7); INSERT INTO INSERT_TBL VALUES (5, 'check failed', -5); ! ERROR: ExecInsert: rejected due to CHECK constraint insert_con INSERT INTO INSERT_TBL VALUES (7, '!check failed', -7); INSERT INTO INSERT_TBL(y) VALUES ('-!NULL-'); SELECT '' AS four, * FROM INSERT_TBL; --- 120,132 ---- (1 row) INSERT INTO INSERT_TBL(y) VALUES ('Y'); ! ERROR: ExecInsert: rejected due to CHECK constraint "insert_con" on "insert_tbl" INSERT INTO INSERT_TBL(y) VALUES ('Y'); INSERT INTO INSERT_TBL(x,z) VALUES (1, -2); ! ERROR: ExecInsert: rejected due to CHECK constraint "$1" on "insert_tbl" INSERT INTO INSERT_TBL(z,x) VALUES (-7, 7); INSERT INTO INSERT_TBL VALUES (5, 'check failed', -5); ! ERROR: ExecInsert: rejected due to CHECK constraint "insert_con" on "insert_tbl" INSERT INTO INSERT_TBL VALUES (7, '!check failed', -7); INSERT INTO INSERT_TBL(y) VALUES ('-!NULL-'); SELECT '' AS four, * FROM INSERT_TBL; *************** *** 139,147 **** (4 rows) INSERT INTO INSERT_TBL(y,z) VALUES ('check failed', 4); ! ERROR: ExecInsert: rejected due to CHECK constraint $1 INSERT INTO INSERT_TBL(x,y) VALUES (5, 'check failed'); ! ERROR: ExecInsert: rejected due to CHECK constraint insert_con INSERT INTO INSERT_TBL(x,y) VALUES (5, '!check failed'); INSERT INTO INSERT_TBL(y) VALUES ('-!NULL-'); SELECT '' AS six, * FROM INSERT_TBL; --- 139,147 ---- (4 rows) INSERT INTO INSERT_TBL(y,z) VALUES ('check failed', 4); ! ERROR: ExecInsert: rejected due to CHECK constraint "$1" on "insert_tbl" INSERT INTO INSERT_TBL(x,y) VALUES (5, 'check failed'); ! ERROR: ExecInsert: rejected due to CHECK constraint "insert_con" on "insert_tbl" INSERT INTO INSERT_TBL(x,y) VALUES (5, '!check failed'); INSERT INTO INSERT_TBL(y) VALUES ('-!NULL-'); SELECT '' AS six, * FROM INSERT_TBL; *************** *** 162,168 **** (1 row) INSERT INTO INSERT_TBL(y) VALUES ('Y'); ! ERROR: ExecInsert: rejected due to CHECK constraint insert_con SELECT 'eight' AS one, currval('insert_seq'); one | currval -------+--------- --- 162,168 ---- (1 row) INSERT INTO INSERT_TBL(y) VALUES ('Y'); ! ERROR: ExecInsert: rejected due to CHECK constraint "insert_con" on "insert_tbl" SELECT 'eight' AS one, currval('insert_seq'); one | currval -------+--------- *************** *** 193,203 **** INHERITS (INSERT_TBL); INSERT INTO INSERT_CHILD(x,z,cy) VALUES (7,-7,11); INSERT INTO INSERT_CHILD(x,z,cy) VALUES (7,-7,6); ! ERROR: ExecInsert: rejected due to CHECK constraint insert_child_cy INSERT INTO INSERT_CHILD(x,z,cy) VALUES (6,-7,7); ! ERROR: ExecInsert: rejected due to CHECK constraint $1 INSERT INTO INSERT_CHILD(x,y,z,cy) VALUES (6,'check failed',-6,7); ! ERROR: ExecInsert: rejected due to CHECK constraint insert_con SELECT * FROM INSERT_CHILD; x | y | z | cx | cy ---+--------+----+----+---- --- 193,203 ---- INHERITS (INSERT_TBL); INSERT INTO INSERT_CHILD(x,z,cy) VALUES (7,-7,11); INSERT INTO INSERT_CHILD(x,z,cy) VALUES (7,-7,6); ! ERROR: ExecInsert: rejected due to CHECK constraint "insert_child_cy" on "insert_child" INSERT INTO INSERT_CHILD(x,z,cy) VALUES (6,-7,7); ! ERROR: ExecInsert: rejected due to CHECK constraint "$1" on "insert_child" INSERT INTO INSERT_CHILD(x,y,z,cy) VALUES (6,'check failed',-6,7); ! ERROR: ExecInsert: rejected due to CHECK constraint "insert_con" on "insert_child" SELECT * FROM INSERT_CHILD; x | y | z | cx | cy ---+--------+----+----+---- *************** *** 227,233 **** 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, -8 FROM tmp WHERE yd = 'try again'; ! ERROR: ExecInsert: rejected due to CHECK constraint insert_con SELECT '' AS four, * FROM INSERT_TBL; four | x | y | z ------+---+---------------+---- --- 227,233 ---- 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, -8 FROM tmp WHERE yd = 'try again'; ! ERROR: ExecInsert: rejected due to CHECK constraint "insert_con" on "insert_tbl" SELECT '' AS four, * FROM INSERT_TBL; four | x | y | z ------+---+---------------+---- *************** *** 246,252 **** 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; ! ERROR: ExecUpdate: rejected due to CHECK constraint insert_con SELECT * FROM INSERT_TBL; x | y | z ---+---------------+---- --- 246,252 ---- 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; ! ERROR: ExecUpdate: rejected due to CHECK constraint "insert_con" on "insert_tbl" SELECT * FROM INSERT_TBL; x | y | z ---+---------------+---- *************** *** 273,279 **** (2 rows) COPY COPY_TBL FROM '@abs_srcdir@/data/constrf.data'; ! ERROR: copy: line 2, CopyFrom: rejected due to CHECK constraint copy_con SELECT * FROM COPY_TBL; x | y | z ---+---------------+--- --- 273,279 ---- (2 rows) COPY COPY_TBL FROM '@abs_srcdir@/data/constrf.data'; ! ERROR: copy: line 2, CopyFrom: rejected due to CHECK constraint "copy_con" on "copy_tbl" SELECT * FROM COPY_TBL; x | y | z ---+---------------+---