Обсуждение: Return record on recursive call

Поиск
Список
Период
Сортировка

Return record on recursive call

От
"Alexander B."
Дата:
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.


Re: Return record on recursive call

От
Michael Fuhr
Дата:
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

Re: Return record on recursive call

От
Adam Radłowski
Дата:
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.
>