pgsql: Rationalize handling of single and double quotes in bootstrap da

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Rationalize handling of single and double quotes in bootstrap da
Date: 2018-04-17 23:53:56
Message-ID: E1f8aQ8-0002OR-CZ@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Rationalize handling of single and double quotes in bootstrap data.

Change things around so that proper quoting of values interpolated into
the BKI data by initdb is the responsibility of initdb, not something
we half-heartedly handle by putting double quotes into the raw BKI data.
(Note: experimentation shows that it still doesn't work to put a double
quote into the initial superuser username, but that's the fault of
inadequate quoting while interpolating the name into SQL scripts;
the BKI aspect of it works fine now.)

Having done that, we can remove the special-case handling of values
that look like "something" from genbki.pl, and instead teach it to
escape double --- and single --- quotes properly. This removes the
nowhere-documented need to treat those specially in the BKI source
data; whatever you write will be passed through unchanged into the
inserted data value, modulo Perl's rules about single-quoted strings.

Add documentation explaining the (pre-existing) handling of backslashes
in the BKI data.

Per an earlier discussion with John Naylor.

Discussion: https://postgr.es/m/CAJVSVGUNao=-Q2-vAN3PYcdF5tnL5JAHwGwzZGuYHtq+Mk_9ng@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/55d26ff638f063fbccf57843f2c27f9795895a5c

Modified Files
--------------
doc/src/sgml/bki.sgml | 29 +++++++----------
src/backend/catalog/genbki.pl | 13 ++++++--
src/bin/initdb/initdb.c | 63 ++++++++++++++++++++++++++++++++++---
src/include/catalog/pg_authid.dat | 5 +--
src/include/catalog/pg_database.dat | 5 +--
src/include/catalog/pg_proc.dat | 12 +++----
6 files changed, 89 insertions(+), 38 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Heikki Linnakangas 2018-04-18 09:51:47 pgsql: Improve docs for the new INCLUDE directive in CREATE/ALTER TABLE
Previous Message Tom Lane 2018-04-17 22:29:26 pgsql: Simplify genbki.pl's data quoting rules.