diff --git a/contrib/array/array_iterator.sql.in b/contrib/array/array_iterator.sql.in index 3a5cf079cd1f4758728ed6733b85544835150e5e..cf3331a387bad90786a06c3dc52c4bf4ec52fe78 100644 --- a/contrib/array/array_iterator.sql.in +++ b/contrib/array/array_iterator.sql.in @@ -11,41 +11,45 @@ SET autocommit TO 'on'; CREATE OR REPLACE FUNCTION array_texteq(_text, text) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_all_texteq(_text, text) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_textregexeq(_text, text) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_all_textregexeq(_text, text) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; +DROP OPERATOR *=(_text,text); CREATE OPERATOR *= ( LEFTARG=_text, RIGHTARG=text, PROCEDURE=array_texteq ); +DROP OPERATOR **=(_text,text); CREATE OPERATOR **= ( LEFTARG=_text, RIGHTARG=text, PROCEDURE=array_all_texteq ); +DROP OPERATOR *~(_text,text); CREATE OPERATOR *~ ( LEFTARG=_text, RIGHTARG=text, PROCEDURE=array_textregexeq ); +DROP OPERATOR **~(_text,text); CREATE OPERATOR **~ ( LEFTARG=_text, RIGHTARG=text, @@ -60,41 +64,45 @@ CREATE OPERATOR **~ ( CREATE OR REPLACE FUNCTION array_varchareq(_varchar, varchar) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_all_varchareq(_varchar, varchar) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_varcharregexeq(_varchar, varchar) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_all_varcharregexeq(_varchar, varchar) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; +DROP OPERATOR *=(_varchar,"varchar"); CREATE OPERATOR *= ( LEFTARG=_varchar, RIGHTARG="varchar", PROCEDURE=array_varchareq ); +DROP OPERATOR **=(_varchar,"varchar"); CREATE OPERATOR **= ( LEFTARG=_varchar, RIGHTARG="varchar", PROCEDURE=array_all_varchareq ); +DROP OPERATOR *~(_varchar,"varchar"); CREATE OPERATOR *~ ( LEFTARG=_varchar, RIGHTARG="varchar", PROCEDURE=array_varcharregexeq ); +DROP OPERATOR **~(_varchar,"varchar"); CREATE OPERATOR **~ ( LEFTARG=_varchar, RIGHTARG="varchar", @@ -107,41 +115,45 @@ CREATE OPERATOR **~ ( CREATE OR REPLACE FUNCTION array_bpchareq(_bpchar, bpchar) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_all_bpchareq(_bpchar, bpchar) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_bpcharregexeq(_bpchar, bpchar) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_all_bpcharregexeq(_bpchar, bpchar) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; +DROP OPERATOR *=(_bpchar,bpchar); CREATE OPERATOR *= ( LEFTARG=_bpchar, RIGHTARG=bpchar, PROCEDURE=array_bpchareq ); +DROP OPERATOR **=(_bpchar,bpchar); CREATE OPERATOR **= ( LEFTARG=_bpchar, RIGHTARG=bpchar, PROCEDURE=array_all_bpchareq ); +DROP OPERATOR *~(_bpchar,bpchar); CREATE OPERATOR *~ ( LEFTARG=_bpchar, RIGHTARG=bpchar, PROCEDURE=array_bpcharregexeq ); +DROP OPERATOR **~(_bpchar,bpchar); CREATE OPERATOR **~ ( LEFTARG=_bpchar, RIGHTARG=bpchar, @@ -154,129 +166,141 @@ CREATE OPERATOR **~ ( CREATE OR REPLACE FUNCTION array_int4eq(_int4, int4) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_all_int4eq(_int4, int4) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_int4ne(_int4, int4) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_all_int4ne(_int4, int4) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_int4gt(_int4, int4) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_all_int4gt(_int4, int4) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_int4ge(_int4, int4) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_all_int4ge(_int4, int4) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_int4lt(_int4, int4) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_all_int4lt(_int4, int4) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_int4le(_int4, int4) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_all_int4le(_int4, int4) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; +DROP OPERATOR *=(_int4,int4); CREATE OPERATOR *= ( LEFTARG=_int4, RIGHTARG=int4, PROCEDURE=array_int4eq ); +DROP OPERATOR **=(_int4,int4); CREATE OPERATOR **= ( LEFTARG=_int4, RIGHTARG=int4, PROCEDURE=array_all_int4eq ); +DROP OPERATOR *<>(_int4,int4); CREATE OPERATOR *<> ( LEFTARG=_int4, RIGHTARG=int4, PROCEDURE=array_int4ne ); +DROP OPERATOR **<>(_int4,int4); CREATE OPERATOR **<> ( LEFTARG=_int4, RIGHTARG=int4, PROCEDURE=array_all_int4ne ); +DROP OPERATOR *>(_int4,int4); CREATE OPERATOR *> ( LEFTARG=_int4, RIGHTARG=int4, PROCEDURE=array_int4gt ); +DROP OPERATOR **>(_int4,int4); CREATE OPERATOR **> ( LEFTARG=_int4, RIGHTARG=int4, PROCEDURE=array_all_int4gt ); +DROP OPERATOR *>=(_int4,int4); CREATE OPERATOR *>= ( LEFTARG=_int4, RIGHTARG=int4, PROCEDURE=array_int4ge ); +DROP OPERATOR **>=(_int4,int4); CREATE OPERATOR **>= ( LEFTARG=_int4, RIGHTARG=int4, PROCEDURE=array_all_int4ge ); +DROP OPERATOR *<(_int4,int4); CREATE OPERATOR *< ( LEFTARG=_int4, RIGHTARG=int4, PROCEDURE=array_int4lt ); +DROP OPERATOR **<(_int4,int4); CREATE OPERATOR **< ( LEFTARG=_int4, RIGHTARG=int4, PROCEDURE=array_all_int4lt ); +DROP OPERATOR *<=(_int4,int4); CREATE OPERATOR *<= ( LEFTARG=_int4, RIGHTARG=int4, PROCEDURE=array_int4le ); +DROP OPERATOR **<=(_int4,int4); CREATE OPERATOR **<= ( LEFTARG=_int4, RIGHTARG=int4, @@ -288,19 +312,21 @@ CREATE OPERATOR **<= ( CREATE OR REPLACE FUNCTION array_oideq(_oid, oid) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_all_oidne(_oid, oid) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; +DROP OPERATOR *=(_oid,oid); CREATE OPERATOR *= ( LEFTARG=_oid, RIGHTARG=oid, PROCEDURE=array_oideq ); +DROP OPERATOR **<>(_oid,oid); CREATE OPERATOR **<> ( LEFTARG=_oid, RIGHTARG=oid, @@ -312,41 +338,45 @@ CREATE OPERATOR **<> ( CREATE OR REPLACE FUNCTION array_ineteq(_inet, inet) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_all_ineteq(_inet, inet) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_inetne(_inet, inet) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION array_all_inetne(_inet, inet) RETURNS bool AS 'MODULE_PATHNAME' -LANGUAGE 'C' WITH (isStrict); +LANGUAGE 'C' IMMUTABLE STRICT; +DROP OPERATOR *=(_inet,inet); CREATE OPERATOR *= ( LEFTARG=_inet, RIGHTARG=inet, PROCEDURE=array_ineteq ); +DROP OPERATOR **=(_inet,inet); CREATE OPERATOR **= ( LEFTARG=_inet, RIGHTARG=inet, PROCEDURE=array_all_ineteq ); +DROP OPERATOR *<>(_inet,inet); CREATE OPERATOR *<> ( LEFTARG=_inet, RIGHTARG=inet, PROCEDURE=array_inetne ); +DROP OPERATOR **<>(_inet,inet); CREATE OPERATOR **<> ( LEFTARG=_inet, RIGHTARG=inet, diff --git a/contrib/intagg/int_aggregate.sql.in b/contrib/intagg/int_aggregate.sql.in index 1d5f83e682b14f0c26f55d6cf391898fd4acfafc..8e929a6047960381aa9e6d6c32a463b2d2beb28a 100644 --- a/contrib/intagg/int_aggregate.sql.in +++ b/contrib/intagg/int_aggregate.sql.in @@ -8,18 +8,19 @@ SET autocommit TO 'on'; CREATE OR REPLACE FUNCTION int_agg_state (int4, int4) RETURNS int4 AS 'MODULE_PATHNAME','int_agg_state' -LANGUAGE 'C'; +LANGUAGE 'C' IMMUTABLE STRICT; -- Internal function for the aggregate -- Is called at the end of the aggregation, and returns an array. CREATE OR REPLACE FUNCTION int_agg_final_array (int4) RETURNS int4[] AS 'MODULE_PATHNAME','int_agg_final_array' -LANGUAGE 'C'; +LANGUAGE 'C' IMMUTABLE STRICT; -- The aggration funcion. -- uses the above functions to create an array of integers from an aggregation. -CREATE OR REPLACE AGGREGATE int_array_aggregate ( +DROP AGGREGATE int_array_aggregate(int4); +CREATE AGGREGATE int_array_aggregate ( BASETYPE = int4, SFUNC = int_agg_state, STYPE = int4, @@ -33,4 +34,4 @@ CREATE OR REPLACE AGGREGATE int_array_aggregate ( CREATE OR REPLACE FUNCTION int_array_enum(int4[]) RETURNS setof integer AS 'MODULE_PATHNAME','int_enum' -LANGUAGE 'C'; +LANGUAGE 'C' IMMUTABLE STRICT;