Thread: function returns setof column type problems

function returns setof column type problems

From
"mmuurr[AT]gmail.com"
Date:
hi all,

i'm trying to figure out how to get the following test situation to
work:

creating a function like below fails...

=> CREATE FUNCTION test_function() RETURNS SETOF table.column%TYPE AS
$$ SELECT 1; $$ LANGUAGE SQL;
ERROR:  syntax error at or near "%" at character 59
LINE 1: ...ate function test_function() returns setof table.column%TYPE
as $...

yet i know the %TYPE format works because the below succeeds...

=> CREATE FUNCTION test_function() RETURNS table.column%TYPE AS $$
SELECT 1; $$ LANGUAGE SQL;
NOTICE:  type reference table.column%TYPE converted to integer
CREATE FUNCTION

as does the SETOF option because the following also succeeds...

=> CREATE FUNCTION test_function() RETURNS SETOF int4 AS $$ SELECT 1;
$$ LANGUAGE SQL;
CREATE FUNCTION

can anyone help me figure out how to get the first function declaration
to work?
and yes, i know i could just look up the type of the column of
interest, but i'm trying to make the function somewhat independent of
table alterations (the whole reason for the %TYPE inclusion in
postgresql in the first place!)

thanks for any help!