Mark xml2 CREATE FUNCTIONs as IMMUTABLE, and use the "STRICT" syntax

rather than the deprecated "WITH (isStrict)" syntax. Patch from Ilia
Kantor, minor editorializing by Neil Conway.
REL8_1_STABLE
Neil Conway 20 years ago
parent 52d1d2e67c
commit 75c76e93c7
  1. 26
      contrib/xml2/pgxml.sql.in

@ -1,32 +1,32 @@
--SQL for XML parser --SQL for XML parser
CREATE OR REPLACE FUNCTION xml_valid(text) RETURNS bool CREATE OR REPLACE FUNCTION xml_valid(text) RETURNS bool
AS 'MODULE_PATHNAME' LANGUAGE 'c' WITH (isStrict); AS 'MODULE_PATHNAME' LANGUAGE 'c' STRICT IMMUTABLE;
CREATE OR REPLACE FUNCTION xml_encode_special_chars(text) RETURNS text CREATE OR REPLACE FUNCTION xml_encode_special_chars(text) RETURNS text
AS 'MODULE_PATHNAME' LANGUAGE 'c' WITH (isStrict); AS 'MODULE_PATHNAME' LANGUAGE 'c' STRICT IMMUTABLE;
CREATE OR REPLACE FUNCTION xpath_string(text,text) RETURNS text CREATE OR REPLACE FUNCTION xpath_string(text,text) RETURNS text
AS 'MODULE_PATHNAME' LANGUAGE 'c' WITH (isStrict); AS 'MODULE_PATHNAME' LANGUAGE 'c' STRICT IMMUTABLE;
CREATE OR REPLACE FUNCTION xpath_nodeset(text,text,text,text) RETURNS text CREATE OR REPLACE FUNCTION xpath_nodeset(text,text,text,text) RETURNS text
AS 'MODULE_PATHNAME' LANGUAGE 'c' WITH (isStrict); AS 'MODULE_PATHNAME' LANGUAGE 'c' STRICT IMMUTABLE;
CREATE OR REPLACE FUNCTION xpath_number(text,text) RETURNS float4 CREATE OR REPLACE FUNCTION xpath_number(text,text) RETURNS float4
AS 'MODULE_PATHNAME' LANGUAGE 'c' WITH (isStrict); AS 'MODULE_PATHNAME' LANGUAGE 'c' STRICT IMMUTABLE;
CREATE OR REPLACE FUNCTION xpath_bool(text,text) RETURNS boolean CREATE OR REPLACE FUNCTION xpath_bool(text,text) RETURNS boolean
AS 'MODULE_PATHNAME' LANGUAGE 'c' WITH (isStrict); AS 'MODULE_PATHNAME' LANGUAGE 'c' STRICT IMMUTABLE;
-- List function -- List function
CREATE OR REPLACE FUNCTION xpath_list(text,text,text) RETURNS text CREATE OR REPLACE FUNCTION xpath_list(text,text,text) RETURNS text
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE 'c' WITH (isStrict); LANGUAGE 'c' STRICT IMMUTABLE;
CREATE OR REPLACE FUNCTION xpath_list(text,text) RETURNS text CREATE OR REPLACE FUNCTION xpath_list(text,text) RETURNS text
AS 'SELECT xpath_list($1,$2,'','')' language 'SQL' WITH (isStrict); AS 'SELECT xpath_list($1,$2,'','')' language 'SQL' STRICT IMMUTABLE;
@ -34,17 +34,17 @@ AS 'SELECT xpath_list($1,$2,'','')' language 'SQL' WITH (isStrict);
CREATE OR REPLACE FUNCTION xpath_nodeset(text,text) RETURNS text AS CREATE OR REPLACE FUNCTION xpath_nodeset(text,text) RETURNS text AS
'SELECT xpath_nodeset($1,$2,'''','''')' language 'SQL' WITH (isStrict); 'SELECT xpath_nodeset($1,$2,'''','''')' language 'SQL' STRICT IMMUTABLE;
CREATE OR REPLACE FUNCTION xpath_nodeset(text,text,text) RETURNS text AS CREATE OR REPLACE FUNCTION xpath_nodeset(text,text,text) RETURNS text AS
'SELECT xpath_nodeset($1,$2,'''',$3)' language 'SQL' WITH (isStrict); 'SELECT xpath_nodeset($1,$2,'''',$3)' language 'SQL' STRICT IMMUTABLE;
-- Table function -- Table function
CREATE OR REPLACE FUNCTION xpath_table(text,text,text,text,text) RETURNS setof record CREATE OR REPLACE FUNCTION xpath_table(text,text,text,text,text) RETURNS setof record
AS 'MODULE_PATHNAME' AS 'MODULE_PATHNAME'
LANGUAGE 'c' WITH (isStrict); LANGUAGE 'c' STRICT IMMUTABLE;
-- XSLT functions -- XSLT functions
-- Delete from here to the end of the file if you are not compiling with -- Delete from here to the end of the file if you are not compiling with
@ -52,9 +52,9 @@ CREATE OR REPLACE FUNCTION xpath_table(text,text,text,text,text) RETURNS setof r
CREATE OR REPLACE FUNCTION xslt_process(text,text,text) RETURNS text CREATE OR REPLACE FUNCTION xslt_process(text,text,text) RETURNS text
AS 'MODULE_PATHNAME' LANGUAGE 'c' WITH (isStrict); AS 'MODULE_PATHNAME' LANGUAGE 'c' STRICT IMMUTABLE;
-- the function checks for the correct argument count -- the function checks for the correct argument count
CREATE OR REPLACE FUNCTION xslt_process(text,text) RETURNS text CREATE OR REPLACE FUNCTION xslt_process(text,text) RETURNS text
AS 'MODULE_PATHNAME' LANGUAGE 'c' WITH (isStrict); AS 'MODULE_PATHNAME' LANGUAGE 'c' STRICT IMMUTABLE;

Loading…
Cancel
Save