Index: int_aggregate.sql.in =================================================================== RCS file: /projects/cvsroot/pgsql-server/contrib/intagg/int_aggregate.sql.in,v retrieving revision 1.3 diff -u -p -u -r1.3 int_aggregate.sql.in --- int_aggregate.sql.in 2002/10/18 18:41:20 1.3 +++ int_aggregate.sql.in 2003/02/21 18:08:07 @@ -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_ag CREATE OR REPLACE FUNCTION int_array_enum(int4[]) RETURNS setof integer AS 'MODULE_PATHNAME','int_enum' -LANGUAGE 'C'; +LANGUAGE 'C' IMMUTABLE STRICT;