I wrote two functions I think are quite cool.

int_aggregate_array(int)
and
int_enum_array(int[])


While I'm not sure I can submit them because I wrote them on company
time, I thought I should tell you about them because they are fairly
trivial, and could make postgresql better.

They are used as:

create table test select id1, int_aggregate_array(id2) as ar group by
id1;

This creates a summary table. It is used as:

select id1, int_enum_array(ar) from test where id1 = 'nnnnn';


If you have a "one to many" table the "int_aggregate_array" will reduce
it to one row with an array. The int_enum_array() is used to extract it.

The idea is that a multiple  a -> b records could be encoded as one row.
This could be a huge performance improvement.

Thu, 20 Dec 2001 19:53:10 -0500
mlw <markw@mohawksoft.com>
Integer aggregate and enum