diff options
author | Dean Rasheed <dean.a.rasheed@gmail.com> | 2025-01-12 12:56:52 +0000 |
---|---|---|
committer | Dean Rasheed <dean.a.rasheed@gmail.com> | 2025-01-12 12:56:52 +0000 |
commit | 61b12135f5b71df3721e8f13eab812b38c0de11f (patch) | |
tree | 391dbb7bf07b193803558973e2a962d17725a134 /src/backend/utils/adt/ruleutils.c | |
parent | e98df02df3f2463771b0f008832023cc609c49b2 (diff) | |
download | postgresql-61b12135f5b71df3721e8f13eab812b38c0de11f.tar.gz postgresql-61b12135f5b71df3721e8f13eab812b38c0de11f.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/utils/adt/ruleutils.c')
-rw-r--r-- | src/backend/utils/adt/ruleutils.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index ea5d8683364..c725e80ed03 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -11621,7 +11621,8 @@ get_xmltable(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 { |