Обсуждение: Return record on recursive call
Hi,
I am creating a function that when finished the last level, should
return for each row.
I put raise notice to trace and the result is correct, but when I try to
execute, an error is showed.
"ERRO: wrong record type supplied in RETURN NEXT"
I created other functions the same way and worked, basically using the
same structure but not recursive.
Is it different return when using recursive.
sample code:
"...
loop
raise notice '' cur1 -> CodCooperativa=% - TipoCoo=%'',
cur1.coo_cod_cooperativa, pTipoCoo;
cur_result.cod_cooperativa = cur1.coo_cod_cooperativa;
cur_result.cooperativa_superior =
cur1.coo_cooperativa_superior;
cur_result.nro_documento = cur1.coo_nro_documento;
cur_result.tipo = cur1.reg_cod_registro;
cur_result.nome_fantasia = cur1.coo_nome_fantasia;
return next cur_result;
..."
Thanks in advance.
On Mon, May 28, 2007 at 05:06:55PM -0300, Alexander B. wrote: > I am creating a function that when finished the last level, should > return for each row. > I put raise notice to trace and the result is correct, but when I try to > execute, an error is showed. > > "ERRO: wrong record type supplied in RETURN NEXT" > > I created other functions the same way and worked, basically using the > same structure but not recursive. > Is it different return when using recursive. It's hard to say what's wrong with your sample code without seeing it with its surrounding context. Could you post a complete example? Please reduce the problem to the smallest possible example that exhibits the undesirable behavior. This question is a bit off-topic for pgsql-admin; you might get more help on pgsql-general. -- Michael Fuhr
For info only (it's not exactly this same problem): This function looks like replacement of scroll cursor functionality. Cursors are working without problems. Adamn Michael Fuhr pisze: > On Mon, May 28, 2007 at 05:06:55PM -0300, Alexander B. wrote: >> I am creating a function that when finished the last level, should >> return for each row. >> I put raise notice to trace and the result is correct, but when I try to >> execute, an error is showed. >> >> "ERRO: wrong record type supplied in RETURN NEXT" >> >> I created other functions the same way and worked, basically using the >> same structure but not recursive. >> Is it different return when using recursive. > > It's hard to say what's wrong with your sample code without seeing > it with its surrounding context. Could you post a complete example? > Please reduce the problem to the smallest possible example that > exhibits the undesirable behavior. > > This question is a bit off-topic for pgsql-admin; you might get > more help on pgsql-general. >