From 2c826a4e4819182b49314aa1f9ffa8efb376d9bc Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Wed, 19 Apr 2017 14:23:24 -0400 Subject: [PATCH] 2.10.10-2.10.11 schema update Signed-off-by: Galen Charlton --- .../2.10.10-2.10.11-upgrade-db.sql | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Open-ILS/src/sql/Pg/version-upgrade/2.10.10-2.10.11-upgrade-db.sql diff --git a/Open-ILS/src/sql/Pg/version-upgrade/2.10.10-2.10.11-upgrade-db.sql b/Open-ILS/src/sql/Pg/version-upgrade/2.10.10-2.10.11-upgrade-db.sql new file mode 100644 index 0000000000..de5171ed0f --- /dev/null +++ b/Open-ILS/src/sql/Pg/version-upgrade/2.10.10-2.10.11-upgrade-db.sql @@ -0,0 +1,45 @@ +--Upgrade Script for 2.10.10 to 2.10.11 +\set eg_version '''2.10.11''' +BEGIN; + +SELECT evergreen.upgrade_deps_block_check('1030', :eg_version); + +CREATE OR REPLACE FUNCTION evergreen.oils_xslt_process(TEXT, TEXT) RETURNS TEXT AS $func$ + use strict; + + use XML::LibXSLT; + use XML::LibXML; + + my $doc = shift; + my $xslt = shift; + + # The following approach uses the older XML::LibXML 1.69 / XML::LibXSLT 1.68 + # methods of parsing XML documents and stylesheets, in the hopes of broader + # compatibility with distributions + my $parser = $_SHARED{'_xslt_process'}{parsers}{xml} || XML::LibXML->new(); + + # Cache the XML parser, if we do not already have one + $_SHARED{'_xslt_process'}{parsers}{xml} = $parser + unless ($_SHARED{'_xslt_process'}{parsers}{xml}); + + my $xslt_parser = $_SHARED{'_xslt_process'}{parsers}{xslt} || XML::LibXSLT->new(); + + # Cache the XSLT processor, if we do not already have one + $_SHARED{'_xslt_process'}{parsers}{xslt} = $xslt_parser + unless ($_SHARED{'_xslt_process'}{parsers}{xslt}); + + my $stylesheet = $_SHARED{'_xslt_process'}{stylesheets}{$xslt} || + $xslt_parser->parse_stylesheet( $parser->parse_string($xslt) ); + + $_SHARED{'_xslt_process'}{stylesheets}{$xslt} = $stylesheet + unless ($_SHARED{'_xslt_process'}{stylesheets}{$xslt}); + + return $stylesheet->output_as_chars( + $stylesheet->transform( + $parser->parse_string($doc) + ) + ); + +$func$ LANGUAGE 'plperlu' STRICT IMMUTABLE; + +COMMIT; -- 2.43.2