Re: Problem with return type of function ??? (corrected)
От | Denis BUCHER |
---|---|
Тема | Re: Problem with return type of function ??? (corrected) |
Дата | |
Msg-id | 4AE07708.7020506@hsolutions.ch обсуждение исходный текст |
Ответ на | Re: Problem with return type of function ??? (corrected) (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Problem with return type of function ??? (corrected)
|
Список | pgsql-sql |
Hi Tom, Another question : Tom Lane a écrit : > Denis BUCHER <dbucherml@hsolutions.ch> writes: >> I have a strange problem, because it worked in a fonction for a table, >> and now I created the same (?) function for another table and it doesn't >> work... > >> The function is accepted but at runtime I get : > >> ERREUR: wrong record type supplied in RETURN NEXT >> CONTEXTE : PL/pgSQL function "find_sn_live" line 26 at return next > > Does that table have any dropped columns? If you don't remember > whether you ever dropped any columns, a quick look into pg_attribute > will tell you: > select attname from pg_attribute where attrelid = 'rma.serial_number'::regclass; > > plpgsql isn't tremendously good with rowtypes that contain dropped > columns. I believe this particular case is fixed in CVS HEAD, but the > patch was a bit invasive and won't get back-ported to existing releases. > The workaround is to drop and recreate the table without any dropped > columns. To do this it will be a little complicated because of table dependencies... And it could bug again at the next DROP COLUMN... Is there a way to change my function (RETURN SETOF part) to specify the column names/types ? Thanks a lot again Denis
В списке pgsql-sql по дате отправления: