postgres_fdw: Fix deparsing of remote column names in stats import. build_remattrmap() deparses a list of remote column names for a query that retrieves attribute stats for them from the remote server. Previously, it did so by using the array-literal syntax with each column name individually quoted by quote_identifier(), causing the query to fail on the remote server with a syntax error or no results when that column name included a single quote or backslash, as quote_identifier() doesn't escape those characters, making the query invalid or incorrect. Fix by switching from the array-literal syntax to the ARRAY constructor syntax with each column name individually quoted by deparseStringLiteral().
Oversight in commit 28972b6fc. Reported-by: Satya Narlapuram <[email protected]> Reported-by: Ayush Tiwari <[email protected]> Author: Ayush Tiwari <[email protected]> Reviewed-by: Alex Guo <[email protected]> Reviewed-by: Zhenwei Shang <[email protected]> Reviewed-by: Etsuro Fujita <[email protected]> Discussion: https://postgr.es/m/CAHg%2BQDc9%3DWtYi%3DJW6QUL6ASOJc6PcGPTuxoMkhnkQ7oi7j5atg%40mail.gmail.com Discussion: https://postgr.es/m/CAJTYsWWGhVDFjr%2BsmdYdU-Q_TT9YMzXA4QcLCr7rizDOyrEEow%40mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/5107398e6d5ecad96f3d1c0efcfc9aa02b9cdff9 Modified Files -------------- contrib/postgres_fdw/expected/postgres_fdw.out | 12 ++++++++++++ contrib/postgres_fdw/postgres_fdw.c | 8 ++++---- contrib/postgres_fdw/sql/postgres_fdw.sql | 13 +++++++++++++ 3 files changed, 29 insertions(+), 4 deletions(-)
