Обсуждение: FOR from query - is it a bug ?
I have function (below) that returns values in table format. But when source table ( xxx.logic_list_item ) is empty I've got following message in log: "row number -1 is out of range 0..-1" Is it a error message ? To be honest I do not know how to handle situation when source table is empty, what should I return? In reposnse I would like to see '0 rows found' I'm using Postgress 8.1. CREATE OR REPLACE FUNCTION freeconet.find_logic_items () RETURNS SETOF xxx.logic_list_item AS $$ DECLARE v_logic_item xxx.logic_list_item; BEGIN /* WYSZUKUJE logic_list_item w bazie */ FOR v_logic_item IN select * from xxx.logic_list_item LOOP return next v_logic_item; END LOOP; return; END; $$ LANGUAGE 'plpgsql' VOLATILE; select * from xxx.find_logic_items() Michal Szymanski
On Thu, Jul 06, 2006 at 07:37:17AM -0700, Szymic1 wrote: > I have function (below) that returns values in table format. But when > source table ( xxx.logic_list_item ) is empty I've got following > message in log: > "row number -1 is out of range 0..-1" What log? What client are you using -- psql or something else? Warnings like this can happen if a client application calls a libpq function like PQgetvalue() without first checking whether the query returned any tuples. -- Michael Fuhr