]> granicus.if.org Git - postgresql/commit
Ignore XML declaration in xpath_internal(), for UTF8 databases.
authorNoah Misch <noah@leadboat.com>
Sat, 11 Nov 2017 19:10:53 +0000 (11:10 -0800)
committerNoah Misch <noah@leadboat.com>
Sat, 11 Nov 2017 19:11:28 +0000 (11:11 -0800)
commitd8406b9de910bf77d74ac644817b42fb4cf2ad03
tree6d4468ee82ee78c1e50b2e900d3e04857b7e1387
parent62906461c0d2765e0b7f8222b080670ddf1825b0
Ignore XML declaration in xpath_internal(), for UTF8 databases.

When a value contained an XML declaration naming some other encoding,
this function interpreted UTF8 bytes as the named encoding, yielding
mojibake.  xml_parse() already has similar logic.  This would be
necessary but not sufficient for non-UTF8 databases, so preserve
behavior there until the xpath facility can support such databases
comprehensively.  Back-patch to 9.3 (all supported versions).

Pavel Stehule and Noah Misch

Discussion: https://postgr.es/m/CAFj8pRC-dM=tT=QkGi+Achkm+gwPmjyOayGuUfXVumCxkDgYWg@mail.gmail.com
src/backend/utils/adt/xml.c
src/test/regress/expected/xml.out
src/test/regress/expected/xml_1.out
src/test/regress/expected/xml_2.out
src/test/regress/sql/xml.sql