Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 13e7453

Browse files
committed
Update xml2 extension for parallel query.
All functions provided by this extension are PARALLEL SAFE. Andreas Karlsson
1 parent 20f6c3a commit 13e7453

File tree

4 files changed

+34
-16
lines changed

4 files changed

+34
-16
lines changed

contrib/xml2/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ MODULE_big = pgxml
44
OBJS = xpath.o xslt_proc.o $(WIN32RES)
55

66
EXTENSION = xml2
7-
DATA = xml2--1.0.sql xml2--unpackaged--1.0.sql
7+
DATA = xml2--1.1.sql xml2--1.0--1.1.sql xml2--unpackaged--1.0.sql
88
PGFILEDESC = "xml2 - XPath querying and XSLT"
99

1010
REGRESS = xml2

contrib/xml2/xml2--1.0--1.1.sql

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/* contrib/xml2/xml2--1.0--1.1.sql */
2+
3+
-- complain if script is sourced in psql, rather than via ALTER EXTENSION
4+
\echo Use "ALTER EXTENSION xml2 UPDATE TO '1.1'" to load this file. \quit
5+
6+
ALTER FUNCTION xml_valid(text) PARALLEL SAFE;
7+
ALTER FUNCTION xml_encode_special_chars(text) PARALLEL SAFE;
8+
ALTER FUNCTION xpath_string(text, text) PARALLEL SAFE;
9+
ALTER FUNCTION xpath_nodeset(text, text, text, text) PARALLEL SAFE;
10+
ALTER FUNCTION xpath_number(text, text) PARALLEL SAFE;
11+
ALTER FUNCTION xpath_bool(text, text) PARALLEL SAFE;
12+
ALTER FUNCTION xpath_list(text, text, text) PARALLEL SAFE;
13+
ALTER FUNCTION xpath_list(text, text) PARALLEL SAFE;
14+
ALTER FUNCTION xpath_nodeset(text, text) PARALLEL SAFE;
15+
ALTER FUNCTION xpath_nodeset(text, text, text) PARALLEL SAFE;
16+
ALTER FUNCTION xpath_table(text, text, text, text, text) PARALLEL SAFE;
17+
ALTER FUNCTION xslt_process(text, text, text) PARALLEL SAFE;
18+
ALTER FUNCTION xslt_process(text, text) PARALLEL SAFE;
Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* contrib/xml2/xml2--1.0.sql */
1+
/* contrib/xml2/xml2--1.1.sql */
22

33
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
44
\echo Use "CREATE EXTENSION xml2" to load this file. \quit
@@ -8,66 +8,66 @@
88
-- deprecated old name for xml_is_well_formed
99
CREATE FUNCTION xml_valid(text) RETURNS bool
1010
AS 'xml_is_well_formed'
11-
LANGUAGE INTERNAL STRICT STABLE;
11+
LANGUAGE INTERNAL STRICT STABLE PARALLEL SAFE;
1212

1313
CREATE FUNCTION xml_encode_special_chars(text) RETURNS text
1414
AS 'MODULE_PATHNAME'
15-
LANGUAGE C STRICT IMMUTABLE;
15+
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
1616

1717
CREATE FUNCTION xpath_string(text,text) RETURNS text
1818
AS 'MODULE_PATHNAME'
19-
LANGUAGE C STRICT IMMUTABLE;
19+
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
2020

2121
CREATE FUNCTION xpath_nodeset(text,text,text,text) RETURNS text
2222
AS 'MODULE_PATHNAME'
23-
LANGUAGE C STRICT IMMUTABLE;
23+
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
2424

2525
CREATE FUNCTION xpath_number(text,text) RETURNS float4
2626
AS 'MODULE_PATHNAME'
27-
LANGUAGE C STRICT IMMUTABLE;
27+
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
2828

2929
CREATE FUNCTION xpath_bool(text,text) RETURNS boolean
3030
AS 'MODULE_PATHNAME'
31-
LANGUAGE C STRICT IMMUTABLE;
31+
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
3232

3333
-- List function
3434

3535
CREATE FUNCTION xpath_list(text,text,text) RETURNS text
3636
AS 'MODULE_PATHNAME'
37-
LANGUAGE C STRICT IMMUTABLE;
37+
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;
3838

3939
CREATE FUNCTION xpath_list(text,text) RETURNS text
4040
AS 'SELECT xpath_list($1,$2,'','')'
41-
LANGUAGE SQL STRICT IMMUTABLE;
41+
LANGUAGE SQL STRICT IMMUTABLE PARALLEL SAFE;
4242

4343
-- Wrapper functions for nodeset where no tags needed
4444

4545
CREATE FUNCTION xpath_nodeset(text,text)
4646
RETURNS text
4747
AS 'SELECT xpath_nodeset($1,$2,'''','''')'
48-
LANGUAGE SQL STRICT IMMUTABLE;
48+
LANGUAGE SQL STRICT IMMUTABLE PARALLEL SAFE;
4949

5050
CREATE FUNCTION xpath_nodeset(text,text,text)
5151
RETURNS text
5252
AS 'SELECT xpath_nodeset($1,$2,'''',$3)'
53-
LANGUAGE SQL STRICT IMMUTABLE;
53+
LANGUAGE SQL STRICT IMMUTABLE PARALLEL SAFE;
5454

5555
-- Table function
5656

5757
CREATE FUNCTION xpath_table(text,text,text,text,text)
5858
RETURNS setof record
5959
AS 'MODULE_PATHNAME'
60-
LANGUAGE C STRICT STABLE;
60+
LANGUAGE C STRICT STABLE PARALLEL SAFE;
6161

6262
-- XSLT functions
6363

6464
CREATE FUNCTION xslt_process(text,text,text)
6565
RETURNS text
6666
AS 'MODULE_PATHNAME'
67-
LANGUAGE C STRICT VOLATILE;
67+
LANGUAGE C STRICT VOLATILE PARALLEL SAFE;
6868

6969
-- the function checks for the correct argument count
7070
CREATE FUNCTION xslt_process(text,text)
7171
RETURNS text
7272
AS 'MODULE_PATHNAME'
73-
LANGUAGE C STRICT IMMUTABLE;
73+
LANGUAGE C STRICT IMMUTABLE PARALLEL SAFE;

contrib/xml2/xml2.control

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# xml2 extension
22
comment = 'XPath querying and XSLT'
3-
default_version = '1.0'
3+
default_version = '1.1'
44
module_pathname = '$libdir/pgxml'
55
# non-relocatable because xml2--unpackaged--1.0.sql needs to use @extschema@
66
relocatable = false

0 commit comments

Comments
 (0)