pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tom Lane <tgl@sss.pgh.pa.us>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: ecpg: avoid breaking the IDENT precedence level in two.
Date: Mon, 14 Oct 2024 19:42:16 +0000
Message-ID: <E1t0QxM-000phN-Pm@gemulon.postgresql.org> (raw)

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(-)



Message-ID: <E1t0QxM-000phN-Pm@gemulon.postgresql.org>
Permalink:  ../E1t0QxM-000phN-Pm@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1t0QxM-000phN-Pm@gemulon.postgresql.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: tgl@sss.pgh.pa.us, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: ecpg: avoid breaking the IDENT precedence level in two.
  In-Reply-To: <E1t0QxM-000phN-Pm@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox