aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
authorDean Rasheed <dean.a.rasheed@gmail.com>2025-01-12 13:01:22 +0000
committerDean Rasheed <dean.a.rasheed@gmail.com>2025-01-12 13:01:22 +0000
commitdc8cd9cd0198ff1d87815e74b101b4c03754f513 (patch)
tree784be51dd59c96e0e3a162daa5688be1515457ad /src/backend
parentbcb4db0d379f39a913c8c38d5c6ca5006435be7a (diff)
downloadpostgresql-dc8cd9cd0198ff1d87815e74b101b4c03754f513.tar.gz
postgresql-dc8cd9cd0198ff1d87815e74b101b4c03754f513.zip
Fix XMLTABLE() deparsing to quote namespace names if necessary.
When deparsing an XMLTABLE() expression, XML namespace names were not quoted. However, since they are parsed as ColLabel tokens, some names require double quotes to ensure that they are properly interpreted. Fix by using quote_identifier() in the deparsing code. Back-patch to all supported versions. Dean Rasheed, reviewed by Tom Lane. Discussion: https://postgr.es/m/CAEZATCXTpAS%3DncfLNTZ7YS6O5puHeLg_SUYAit%2Bcs7wsrd9Msg%40mail.gmail.com
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/utils/adt/ruleutils.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c
index 993e28a273c..55330047cce 100644
--- a/src/backend/utils/adt/ruleutils.c
+++ b/src/backend/utils/adt/ruleutils.c
@@ -10692,7 +10692,8 @@ get_tablefunc(TableFunc *tf, deparse_context *context, bool showimplicit)
if (ns_node != NULL)
{
get_rule_expr(expr, context, showimplicit);
- appendStringInfo(buf, " AS %s", strVal(ns_node));
+ appendStringInfo(buf, " AS %s",
+ quote_identifier(strVal(ns_node)));
}
else
{