pgsql: Fix bogus grammar for a CREATE CONSTRAINT TRIGGER error
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: /messages/by-id/CAAJ_b97hd-jMTS7AjgU6TDBCzDx_KyuKxG+K-DtYmOieg+giyQ@mail.gmail.com
Discussion: /messages/by-id/CACJufxHSp2puxP=q8ZtUGL1F+heapnzqFBZy5ZNGUjUgwjBqTQ@mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/87251e114967d668c8f90ed9fb8c8a8834c2d288
Modified Files
--------------
doc/src/sgml/ref/create_trigger.sgml | 9 ++++++++-
src/backend/parser/gram.y | 22 +++++++++++++++++++++-
src/test/regress/expected/triggers.out | 23 ++++++++++++++++++++++-
src/test/regress/sql/triggers.sql | 15 ++++++++++++++-
4 files changed, 65 insertions(+), 4 deletions(-)
On 3 Jul 2025, at 11:30, Álvaro Herrera <alvherre@kurilemu.de> wrote:
alabio seems unhappy, and the hunk below seems to be culprit, it should closed
with a </varlistentry> right?
doc/src/sgml/ref/create_trigger.sgml | 9 ++++++++-
+ <varlistentry>
+ <term><literal>ENFORCED</literal></term>
+ <listitem>
+ This is a noise word. Constraint triggers are always enforced.
+ </listitem>
+ </varlistitem>
--
Daniel Gustafsson
On 2025-Jul-03, Daniel Gustafsson wrote:
On 3 Jul 2025, at 11:30, Álvaro Herrera <alvherre@kurilemu.de> wrote:
alabio seems unhappy, and the hunk below seems to be culprit, it should closed
with a </varlistentry> right?
Thanks for pointing this out. Yeah, not only I used the wrong tag, but
it's also missing the wrapping <para> around the text. Should be fixed
now.
It turns out our meson port doesn't have the equivalent of a
"make -C doc/src/sgml check". Sigh. Back to configure again for me ...
--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/
"Industry suffers from the managerial dogma that for the sake of stability
and continuity, the company should be independent of the competence of
individual employees." (E. Dijkstra)
On Thursday, July 3, 2025, Álvaro Herrera <alvherre@kurilemu.de> wrote:
It turns out our meson port doesn't have the equivalent of a
"make -C doc/src/sgml check". Sigh. Back to configure again for me ...
It could if someone wants to push this or something similar.
/messages/by-id/87msoyhk9l.fsf@wibble.ilmari.org
David J.