Fix bogus grammar for a CREATE CONSTRAINT TRIGGER error
Álvaro Herrera <alvherre@kurilemu.de>
Fix bogus grammar for a CREATE CONSTRAINT TRIGGER error If certain constraint characteristic clauses (NO INHERIT, NOT VALID, NOT ENFORCED) are given to CREATE CONSTRAINT TRIGGER, the resulting error message is ERROR: TRIGGER constraints cannot be marked NO INHERIT which is a bit silly, because these aren't "constraints of type TRIGGER". Hardcode a better error message to prevent it. This is a cosmetic fix for quite a fringe problem with no known complaints from users, so no backpatch. While at it, silently accept ENFORCED if given. Author: Amul Sul <sulamul@gmail.com> Reviewed-by: jian he <jian.universality@gmail.com> Reviewed-by: Fujii Masao <masao.fujii@oss.nttdata.com> Reviewed-by: Álvaro Herrera <alvherre@kurilemu.de> Discussion: https://postgr.es/m/CAAJ_b97hd-jMTS7AjgU6TDBCzDx_KyuKxG+K-DtYmOieg+giyQ@mail.gmail.com Discussion: https://postgr.es/m/CACJufxHSp2puxP=q8ZtUGL1F+heapnzqFBZy5ZNGUjUgwjBqTQ@mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| doc/src/sgml/ref/create_trigger.sgml | modified | +8 −1 |
| src/backend/parser/gram.y | modified | +21 −1 |
| src/test/regress/expected/triggers.out | modified | +22 −1 |
| src/test/regress/sql/triggers.sql | modified | +14 −1 |
Discussion
- bogus error message for ALTER TABLE ALTER CONSTRAINT 14 messages · 2025-03-04 → 2025-03-14
- ALTER TABLE ALTER CONSTRAINT misleading error message 18 messages · 2025-05-28 → 2025-07-03