From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
Subject: | pgsql: Ensure consistent name matching behavior in processSQLNamePatter |
Date: | 2019-04-05 17:00:06 |
Message-ID: | E1hCSCE-00015n-HV@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Ensure consistent name matching behavior in processSQLNamePattern().
Prior to v12, if you used a collation-sensitive regex feature in a
pattern handled by processSQLNamePattern() (for instance, \d '\\w+'
in psql), the behavior you got matched the database's default collation.
Since commit 586b98fdf you'd usually get C-collation behavior, because
the catalog "name"-type columns are now marked as COLLATE "C". Add
explicit COLLATE specifications to restore the prior behavior.
(Note for whoever writes the v12 release notes: the need for this shows
that while 586b98fdf preserved pre-v12 behavior of "name" columns for
simple comparison operators, it changed the behavior of regex operators
on those columns. Although this patch fixes it for pattern matches
generated by our own tools, user-written queries will still be affected.
So we'd better mention this issue as a compatibility item.)
Daniel Vérité
Discussion: https://postgr.es/m/701e51f0-0ec0-4e70-a365-1958d66dd8d2@manitou-mail.org
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/478cacb50e4851760db9b8e75b2256085b571965
Modified Files
--------------
src/fe_utils/string_utils.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2019-04-05 19:28:41 | pgsql: Fix missing word. |
Previous Message | Andres Freund | 2019-04-05 16:50:59 | pgsql: table: docs: fix typos and grammar. |