| From: | Etsuro Fujita <etsuro(dot)fujita(at)gmail(dot)com> |
|---|---|
| To: | SATYANARAYANA NARLAPURAM <satyanarlapuram(at)gmail(dot)com> |
| Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Corey Huinker <corey(dot)huinker(at)gmail(dot)com>, efujita(at)postgresql(dot)org |
| Subject: | Re: Fix array-element quoting in postgres_fdw import statistics |
| Date: | 2026-04-21 10:55:55 |
| Message-ID: | CAPmGK16FT3N2RA0+m5tN8+R+9Kx=2dEyj+T-cVoFscOQrdaDrQ@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Sun, Apr 12, 2026 at 3:46 PM Etsuro Fujita <etsuro(dot)fujita(at)gmail(dot)com> wrote:
> On Sun, Apr 12, 2026 at 12:13 PM SATYANARAYANA NARLAPURAM
> <satyanarlapuram(at)gmail(dot)com> wrote:
> > build_remattrmap() used quote_identifier() to format column names
> > for a text[] array literal passed to the remote pg_stats query.
> > quote_identifier() applies SQL identifier quoting, which doubles
> > double-quote characters but does not escape backslashes. However,
> > inside a PostgreSQL array literal, backslash is an escape character.
> >
> > Column names containing backslashes (e.g. "a\b") were silently
> > mangled by the array parser—"a\b" became "ab"—causing the
> > WHERE attname = ANY('{...}') filter to miss those columns. The
> > statistics import would then fail with a WARNING about missing
> > attribute statistics. This is a very corner cases because usually
> > backslash is not included in the column names. Anyways attached
> > a draft patch. Please take a look and let me know what you think.
> Good catch! I will look into this as well.
I think your analysis is correct, but a simpler solution for this
issue is to use deparseStringLiteral() for column names, instead of
quote_identifier(), as proposed in [1].
Best regards,
Etsuro Fujita
| From | Date | Subject | |
|---|---|---|---|
| Next Message | David Rowley | 2026-04-21 11:02:44 | Re: Cleanup shadows variable warnings, round 1 |
| Previous Message | Alexander Korotkov | 2026-04-21 10:54:47 | Re: Fix bug with accessing to temporary tables of other sessions |