pgsql: Specify the encoding of input to fmtId()

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Specify the encoding of input to fmtId()
Date: 2025-02-10 15:09:48
Message-ID: E1thVPw-006Nxf-LU@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Specify the encoding of input to fmtId()

This commit adds fmtIdEnc() and fmtQualifiedIdEnc(), which allow to specify
the encoding as an explicit argument. Additionally setFmtEncoding() is
provided, which defines the encoding when no explicit encoding is provided, to
avoid breaking all code using fmtId().

All users of fmtId()/fmtQualifiedId() are either converted to the explicit
version or a call to setFmtEncoding() has been added.

This commit does not yet utilize the now well-defined encoding, that will
happen in a subsequent commit.

Reviewed-by: Noah Misch <noah(at)leadboat(dot)com>
Reviewed-by: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Backpatch-through: 13
Security: CVE-2025-1094

Branch
------
REL_17_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/61ad93cdd48ecc8c6edf943f4d888a9325b66882

Modified Files
--------------
src/bin/pg_dump/pg_backup_archiver.c | 1 +
src/bin/pg_dump/pg_dump.c | 1 +
src/bin/pg_dump/pg_dumpall.c | 1 +
src/bin/psql/command.c | 3 ++
src/bin/scripts/common.c | 5 ++-
src/bin/scripts/createdb.c | 2 +
src/bin/scripts/createuser.c | 2 +
src/bin/scripts/dropdb.c | 13 +++---
src/bin/scripts/dropuser.c | 3 +-
src/bin/scripts/reindexdb.c | 16 ++++---
src/bin/scripts/vacuumdb.c | 5 ++-
src/fe_utils/string_utils.c | 84 +++++++++++++++++++++++++++++++++---
src/include/fe_utils/string_utils.h | 3 ++
13 files changed, 115 insertions(+), 24 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Andres Freund 2025-02-10 15:09:49 pgsql: Add test of various escape functions
Previous Message Peter Eisentraut 2025-02-10 14:30:07 pgsql: Translation updates