From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Prevent duplicate escape-string warnings when using pg_stat_stat |
Date: | 2015-01-22 23:11:13 |
Message-ID: | E1YEQu9-0004cd-RQ@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Prevent duplicate escape-string warnings when using pg_stat_statements.
contrib/pg_stat_statements will sometimes run the core lexer a second time
on submitted statements. Formerly, if you had standard_conforming_strings
turned off, this led to sometimes getting two copies of any warnings
enabled by escape_string_warning. While this is probably no longer a big
deal in the field, it's a pain for regression testing.
To fix, change the lexer so it doesn't consult the escape_string_warning
GUC variable directly, but looks at a copy in the core_yy_extra_type state
struct. Then, pg_stat_statements can change that copy to disable warnings
while it's redoing the lexing.
It seemed like a good idea to make this happen for all three of the GUCs
consulted by the lexer, not just escape_string_warning. There's not an
immediate use-case for callers to adjust the other two AFAIK, but making
it possible is easy enough and seems like good future-proofing.
Arguably this is a bug fix, but there doesn't seem to be enough interest to
justify a back-patch. We'd not be able to back-patch exactly as-is anyway,
for fear of breaking ABI compatibility of the struct. (We could perhaps
back-patch the addition of only escape_string_warning by adding it at the
end of the struct, where there's currently alignment padding space.)
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/eb213acfe2a51ab3dc6d9bbe02d5d8a903366779
Modified Files
--------------
contrib/pg_stat_statements/pg_stat_statements.c | 3 +++
src/backend/parser/scan.l | 18 +++++++++++-------
src/include/parser/scanner.h | 10 ++++++++++
3 files changed, 24 insertions(+), 7 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2015-01-23 16:49:54 | pgsql: Add an explicit cast to Size to hyperloglog.c |
Previous Message | Peter Eisentraut | 2015-01-22 21:57:35 | pgsql: Fix whitespace |