[COMMITTERS] pgsql: Rethink flex flags for syncrep_scanner.l. - Mailing list pgsql-committers

From Tom Lane
Subject [COMMITTERS] pgsql: Rethink flex flags for syncrep_scanner.l.
Date
Msg-id E1dBq1X-0004fA-HJ@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Rethink flex flags for syncrep_scanner.l.

Using flex's -i switch to achieve case-insensitivity is not a very safe
practice, because the scanner's behavior may then depend on the locale
that flex was invoked in.  In the particular example at hand, that's
not academic: the possible matches for "FIRST" will be different in a
Turkish locale than elsewhere.  Do it the hard way instead, as our
other scanners do.

Also, drop use of -b -CF -p, because this scanner is only used when
parsing the contents of a GUC variable.  That's not done often, and
the amount of text to be parsed can be expected to be trivial, so
prioritizing scanner speed over code size seems like quite the wrong
tradeoff.  Using flex's default optimization options reduces the
size of syncrep_gram.o by more than 50%.

The case-insensitivity problem is new in HEAD (cf commit 3901fd70c).
The poor choice of optimization flags exists also in 9.6, but it doesn't
seem important enough to back-patch.

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

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/5c837ddd7092ce9243225d12ca03fdbae136227f

Modified Files
--------------
src/backend/replication/Makefile          | 5 ++---
src/backend/replication/syncrep_scanner.l | 6 ++++--
2 files changed, 6 insertions(+), 5 deletions(-)


pgsql-committers by date:

Previous
From: Robert Haas
Date:
Subject: [COMMITTERS] pgsql: pg_upgrade: Handle hash index upgrades more smoothly.
Next
From: Tom Lane
Date:
Subject: [COMMITTERS] pgsql: Change documentation references to PG website to use https:not