pgsql: ecpg: avoid breaking the IDENT precedence level in two.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: ecpg: avoid breaking the IDENT precedence level in two.
Date: 2024-10-14 19:42:16
Message-ID: E1t0QxM-000phN-Pm@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

ecpg: avoid breaking the IDENT precedence level in two.

Careless string hacking caused parse.pl to transform gram.y's
declaration

%nonassoc IDENT PARTITION RANGE ROWS ...

into

%nonassoc IDENT
%nonassoc CSTRING PARTITION RANGE ROWS ...

It turns out that this has no semantic impact, because the
generated preproc.c is exactly the same either way (if you
inject a blank line to keep line numbers the same).

Nonetheless, given the great emphasis that the commentary in
gram.y places on keeping those other keywords at the same
precedence level as IDENT, this seems like foolishly risking ecpg
behaving differently from the core parser. Adjust the code so
that CSTRING is added to the precedence line without breaking it
into two lines.

Discussion: https://postgr.es/m/2157151.1713540065@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/9812138593f3e56735d93715a6dc2ed2d392611e

Modified Files
--------------
src/interfaces/ecpg/preproc/parse.pl | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Jeff Davis 2024-10-14 19:49:06 pgsql: Move libc-specific code from pg_locale.c into pg_locale_libc.c.
Previous Message Jeff Davis 2024-10-14 19:15:09 pgsql: Move ICU-specific code from pg_locale.c into pg_locale_icu.c.