? int_aggregate.sql ? intagg.patch ? intagg_test.sql Index: int_aggregate.c =================================================================== RCS file: /projects/cvsroot/pgsql-server/contrib/intagg/int_aggregate.c,v retrieving revision 1.4 diff -u -r1.4 int_aggregate.c --- int_aggregate.c 2002/08/30 00:28:40 1.4 +++ int_aggregate.c 2002/08/30 15:22:03 @@ -11,7 +11,8 @@ * This file is the property of the Digital Music Network (DMN). * It is being made available to users of the PostgreSQL system * under the BSD license. - * + * + * NOTE: This module requires sizeof(void *) to be the same as sizeof(int) */ #include "postgres.h" @@ -37,6 +38,9 @@ #include "utils/lsyscache.h" +/* Uncomment this define if you are compiling for postgres 7.2.x */ +/* #define PG_7_2 */ + /* This is actually a postgres version of a one dimensional array */ typedef struct @@ -96,7 +100,9 @@ p->a.size = cb; p->a.ndim = 0; p->a.flags = 0; +#ifndef PG_7_2 p->a.elemtype = INT4OID; +#endif p->items = 0; p->lower= START_NUM; } @@ -149,7 +155,9 @@ pnew->a.size = cb; pnew->a.ndim=1; pnew->a.flags = 0; +#ifndef PG_7_2 pnew->a.elemtype = INT4OID; +#endif pnew->lower = 0; } else Index: int_aggregate.sql.in =================================================================== RCS file: /projects/cvsroot/pgsql-server/contrib/intagg/int_aggregate.sql.in,v retrieving revision 1.1 diff -u -r1.1 int_aggregate.sql.in --- int_aggregate.sql.in 2002/02/25 03:45:27 1.1 +++ int_aggregate.sql.in 2002/08/30 15:22:03 @@ -1,7 +1,7 @@ -- Drop functions +drop aggregate int_array_aggregate(int4); drop function int_agg_state (int4, int4); drop function int_agg_final_array (int4); -drop aggregate int_array_aggregate(int4); drop function int_array_enum (int4[]); @@ -9,14 +9,14 @@ -- Is called for each item in an aggregation create function int_agg_state (int4, int4) returns int4 - as 'MODULE_FILENAME','int_agg_state' + as 'MODULE_PATHNAME','int_agg_state' language 'c'; -- Internal function for the aggregate -- Is called at the end of the aggregation, and returns an array. create function int_agg_final_array (int4) returns int4[] - as 'MODULE_FILENAME','int_agg_final_array' + as 'MODULE_PATHNAME','int_agg_final_array' language 'c'; -- The aggration funcion. @@ -35,6 +35,6 @@ -- as a row. create function int_array_enum(int4[]) returns setof integer - as 'MODULE_FILENAME','int_enum' + as 'MODULE_PATHNAME','int_enum' language 'c';