Pg 9.6.24 (Yes, I know it's EOL.)
This simple "programming example" function works perfectly. However, it
requires me to create the TYPE "foo".
CREATE TYPE foo AS (tab_name TEXT, num_pages INT);
CREATE FUNCTION dba.blarge()
RETURNS SETOF foo
LANGUAGE plpgsql
AS
$$
DECLARE
ret foo;
bar CURSOR FOR
select relname::text as table_name, relpages
from pg_class where relkind = 'r'
order by 1;
BEGIN
FOR i IN bar LOOP
SELECT i.table_name, i.relpages INTO ret;
RETURN NEXT ret;
END LOOP;
END;
$$;
Is there a way to define the SETOF record on the fly, like you do with
RETURNS TABLE (f1 type1, f2 type2)?
--
Born in Arizona, moved to Babylonia.