From a9f66f92533b2bfd7abf289219152091b7697e87 Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Wed, 8 Mar 2017 13:29:48 -0300 Subject: [PATCH] Fix XMLTABLE on older libxml2 libxml2 older than 2.9.1 does not have xmlXPathSetContextNode (released in 2013, so reasonable platforms have trouble). That function is fairly trivial, so I have inlined it in the one added caller. This passes tests on my machine; let's see what the buildfarm thinks about it. Per joint complaint from Tom Lane and buildfarm. --- src/backend/utils/adt/xml.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/utils/adt/xml.c b/src/backend/utils/adt/xml.c index f2e5224fc3..7fd3ec3fae 100644 --- a/src/backend/utils/adt/xml.c +++ b/src/backend/utils/adt/xml.c @@ -4431,7 +4431,7 @@ XmlTableGetValue(TableFuncScanState *state, int colnum, PG_TRY(); { /* Set current node as entry point for XPath evaluation */ - xmlXPathSetContextNode(cur, xtCxt->xpathcxt); + xtCxt->xpathcxt->node = cur; /* Evaluate column path */ xpathobj = xmlXPathCompiledEval(xtCxt->xpathscomp[colnum], xtCxt->xpathcxt); -- 2.40.0