When used, it outputs an array of the inputs, in order.[...snip...]
CREATE AGGREGATE aggarray (BASETYPE = ANYELEMENT, SFUNC = aggregate_array, STYPE = ANYARRAY);
There is really no need for the aggregate_array() function. See the example in the docs:
http://www.postgresql.org/docs/current/static/xaggr.html
So it would look like this: CREATE AGGREGATE aggarray (basetype = anyelement, sfunc = array_append, stype = anyarray, initcond = '{}' );
regression=# SELECT n.nspname, aggarray(relname) FROM pg_catalog.pg_class c INNER JOIN pg_catalog.pg_namespace n ON (c.relnamespace = n.oid) WHERE c.relkind = 'r' GROUP BY c.relnamespace,n.nspname;-- ********************************************* --simple demonstration of aggarray -- *********************************************
nspname |
aggarray
--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
information_schema | {sql_features,sql_implementation_info,sql_languages,sql_packages,sql_sizing,sql_sizing_profiles}
MySchema | {Foo}
pg_catalog | {pg_shadow,pg_constraint,pg_database,pg_description,pg_group,pg_proc,pg_rewrite,pg_statistic,pg_type,pg_attribute,pg_class,pg_inherits,pg_index,pg_operator,pg_opclass,pg_am,pg_amop,pg_amproc,pg_language,pg_largeobject,pg_aggregate,pg_trigger,pg_listener,pg_cast,pg_namespace,pg_conversion,pg_depend,pg_attrdef}
public | {foo,mytable,fw_chain}
(4 rows)
Time: 2.518 ms
HTH,
Joe
---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives?
http://archives.postgresql.org