CREATE OR REPLACE VIEW pg_group_long AS SELECT ''::name AS groname , 1::integer AS grosysid , 1::integer AS usesysid; CREATE OR REPLACE FUNCTION pg_group_long() RETURNS setof pg_group_long AS 'MODULE_PATHNAME','pg_group_long' LANGUAGE 'c' VOLATILE; CREATE OR REPLACE FUNCTION expand_array(text,int) RETURNS setof record AS 'MODULE_PATHNAME','expand_array_srf' LANGUAGE 'c' VOLATILE; -- -- examples of use on pg_group -- select * from pg_group; select * from pg_group_long(); select * from expand_array('select groname, grosysid, grolist from pg_group', 3) AS grps(grp name, grpid int, useid int);