mirror of
https://github.com/postgres/postgres.git
synced 2025-04-18 13:44:19 +03:00
Update xml2 extension for parallel query.
All functions provided by this extension are PARALLEL SAFE. Andreas Karlsson
This commit is contained in:
parent
20f6c3a2a1
commit
13e7453135
@ -4,7 +4,7 @@ MODULE_big = pgxml
|
||||
OBJS = xpath.o xslt_proc.o $(WIN32RES)
|
||||
|
||||
EXTENSION = xml2
|
||||
DATA = xml2--1.0.sql xml2--unpackaged--1.0.sql
|
||||
DATA = xml2--1.1.sql xml2--1.0--1.1.sql xml2--unpackaged--1.0.sql
|
||||
PGFILEDESC = "xml2 - XPath querying and XSLT"
|
||||
|
||||
REGRESS = xml2
|
||||
|
18
contrib/xml2/xml2--1.0--1.1.sql
Normal file
18
contrib/xml2/xml2--1.0--1.1.sql
Normal file
@ -0,0 +1,18 @@
|
||||
/* contrib/xml2/xml2--1.0--1.1.sql */
|
||||
|
||||
-- complain if script is sourced in psql, rather than via ALTER EXTENSION
|
||||
\echo Use "ALTER EXTENSION xml2 UPDATE TO '1.1'" to load this file. \quit
|
||||
|
||||
ALTER FUNCTION xml_valid(text) PARALLEL SAFE;
|
||||
ALTER FUNCTION xml_encode_special_chars(text) PARALLEL SAFE;
|
||||
ALTER FUNCTION xpath_string(text, text) PARALLEL SAFE;
|
||||
ALTER FUNCTION xpath_nodeset(text, text, text, text) PARALLEL SAFE;
|
||||
ALTER FUNCTION xpath_number(text, text) PARALLEL SAFE;
|
||||
ALTER FUNCTION xpath_bool(text, text) PARALLEL SAFE;
|
||||
ALTER FUNCTION xpath_list(text, text, text) PARALLEL SAFE;
|
||||
ALTER FUNCTION xpath_list(text, text) PARALLEL SAFE;
|
||||
ALTER FUNCTION xpath_nodeset(text, text) PARALLEL SAFE;
|
||||
ALTER FUNCTION xpath_nodeset(text, text, text) PARALLEL SAFE;
|
||||
ALTER FUNCTION xpath_table(text, text, text, text, text) PARALLEL SAFE;
|
||||
ALTER FUNCTION xslt_process(text, text, text) PARALLEL SAFE;
|
||||
ALTER FUNCTION xslt_process(text, text) PARALLEL SAFE;
|
@ -1,4 +1,4 @@
|
||||
/* contrib/xml2/xml2--1.0.sql */
|
||||
/* contrib/xml2/xml2--1.1.sql */
|
||||
|
||||
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
|
||||
\echo Use "CREATE EXTENSION xml2" to load this file. \quit
|
||||
@ -8,66 +8,66 @@
|
||||
-- deprecated old name for xml_is_well_formed
|
||||
CREATE FUNCTION xml_valid(text) RETURNS bool
|
||||
AS 'xml_is_well_formed'
|
||||
LANGUAGE INTERNAL STRICT STABLE;
|
||||
LANGUAGE INTERNAL STRICT STABLE PARALLEL SAFE;
|
||||
|
||||
CREATE FUNCTION xml_encode_special_chars(text) RETURNS text
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C STRICT IMMUTABLE;
|
||||
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
|
||||
|
||||
CREATE FUNCTION xpath_string(text,text) RETURNS text
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C STRICT IMMUTABLE;
|
||||
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
|
||||
|
||||
CREATE FUNCTION xpath_nodeset(text,text,text,text) RETURNS text
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C STRICT IMMUTABLE;
|
||||
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
|
||||
|
||||
CREATE FUNCTION xpath_number(text,text) RETURNS float4
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C STRICT IMMUTABLE;
|
||||
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
|
||||
|
||||
CREATE FUNCTION xpath_bool(text,text) RETURNS boolean
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C STRICT IMMUTABLE;
|
||||
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
|
||||
|
||||
-- List function
|
||||
|
||||
CREATE FUNCTION xpath_list(text,text,text) RETURNS text
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C STRICT IMMUTABLE;
|
||||
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
|
||||
|
||||
CREATE FUNCTION xpath_list(text,text) RETURNS text
|
||||
AS 'SELECT xpath_list($1,$2,'','')'
|
||||
LANGUAGE SQL STRICT IMMUTABLE;
|
||||
LANGUAGE SQL STRICT IMMUTABLE PARALLEL SAFE;
|
||||
|
||||
-- Wrapper functions for nodeset where no tags needed
|
||||
|
||||
CREATE FUNCTION xpath_nodeset(text,text)
|
||||
RETURNS text
|
||||
AS 'SELECT xpath_nodeset($1,$2,'''','''')'
|
||||
LANGUAGE SQL STRICT IMMUTABLE;
|
||||
LANGUAGE SQL STRICT IMMUTABLE PARALLEL SAFE;
|
||||
|
||||
CREATE FUNCTION xpath_nodeset(text,text,text)
|
||||
RETURNS text
|
||||
AS 'SELECT xpath_nodeset($1,$2,'''',$3)'
|
||||
LANGUAGE SQL STRICT IMMUTABLE;
|
||||
LANGUAGE SQL STRICT IMMUTABLE PARALLEL SAFE;
|
||||
|
||||
-- Table function
|
||||
|
||||
CREATE FUNCTION xpath_table(text,text,text,text,text)
|
||||
RETURNS setof record
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C STRICT STABLE;
|
||||
LANGUAGE C STRICT STABLE PARALLEL SAFE;
|
||||
|
||||
-- XSLT functions
|
||||
|
||||
CREATE FUNCTION xslt_process(text,text,text)
|
||||
RETURNS text
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C STRICT VOLATILE;
|
||||
LANGUAGE C STRICT VOLATILE PARALLEL SAFE;
|
||||
|
||||
-- the function checks for the correct argument count
|
||||
CREATE FUNCTION xslt_process(text,text)
|
||||
RETURNS text
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE C STRICT IMMUTABLE;
|
||||
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
|
@ -1,6 +1,6 @@
|
||||
# xml2 extension
|
||||
comment = 'XPath querying and XSLT'
|
||||
default_version = '1.0'
|
||||
default_version = '1.1'
|
||||
module_pathname = '$libdir/pgxml'
|
||||
# non-relocatable because xml2--unpackaged--1.0.sql needs to use @extschema@
|
||||
relocatable = false
|
||||
|
Loading…
x
Reference in New Issue
Block a user