On Tue, Nov 01, 2005 at 04:38:12PM -0500, Lane Van Ingen wrote:
> Have tried perhaps 20+ alternatives on this plpgsql function, but can't get
> it to work. Suspect I have done something wrong either with RETURN values,
> creating of a type, or (most likely) use of ROW().
> ...
> CREATE OR REPLACE FUNCTION router_history()
> RETURNS SETOF typ_history_rec_format AS
> $BODY$
> DECLARE
> returnValue RECORD;
Try declaring returnValue as typ_history_rec_format instead of RECORD.
> select into returnValue ROW(workarea.interface,workarea.updatedTime,
> work_rftype,workarea.rfspeed);
Get rid of the record constructor:
select into returnValue workarea.interface, workarea.updatedTime, work_rftype, workarea.rfspeed;
Using your code with the above two changes and some canned data, I
got the function to work (where "work" means it ran and returned
some rows -- I didn't look closely at the logic to see if the results
were actually correct ;-).
--
Michael Fuhr