Thread: 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. >