From de623f33353c96657651f9c3a6c8756616c610e4 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Thu, 17 Feb 2011 18:11:28 -0500
Subject: [PATCH] Fix upgrade of contrib/xml2 from 9.0.

Update script was being sloppy about two functions that have been changed
since 9.0.
---
 contrib/xml2/xml2--unpackaged--1.0.sql | 11 +++++++++++
 contrib/xml2/xml2.control              |  3 ++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/contrib/xml2/xml2--unpackaged--1.0.sql b/contrib/xml2/xml2--unpackaged--1.0.sql
index 2cd40d7960a..1aa894a6192 100644
--- a/contrib/xml2/xml2--unpackaged--1.0.sql
+++ b/contrib/xml2/xml2--unpackaged--1.0.sql
@@ -13,3 +13,14 @@ ALTER EXTENSION xml2 ADD function xpath_nodeset(text,text,text,text);
 ALTER EXTENSION xml2 ADD function xpath_string(text,text);
 ALTER EXTENSION xml2 ADD function xml_encode_special_chars(text);
 ALTER EXTENSION xml2 ADD function xml_valid(text);
+
+-- xml_valid is now an alias for core xml_is_well_formed()
+
+CREATE OR REPLACE FUNCTION xml_valid(text) RETURNS bool
+AS 'xml_is_well_formed'
+LANGUAGE INTERNAL STRICT STABLE;
+
+-- xml_is_well_formed is now in core, not needed in extension.
+-- be careful to drop extension's copy not core's.
+
+DROP FUNCTION @extschema@.xml_is_well_formed(text);
diff --git a/contrib/xml2/xml2.control b/contrib/xml2/xml2.control
index 004649d6520..51de678d5fb 100644
--- a/contrib/xml2/xml2.control
+++ b/contrib/xml2/xml2.control
@@ -2,4 +2,5 @@
 comment = 'XPath querying and XSLT'
 default_version = '1.0'
 module_pathname = '$libdir/pgxml'
-relocatable = true
+# non-relocatable because xml2--unpackaged--1.0.sql needs to use @extschema@
+relocatable = false
-- 
GitLab