Re: Terminating a SETOF function call sequence

From: Thomas Hallgren <thhal(at)mailblocks(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Terminating a SETOF function call sequence
Date: 2005-02-17 15:39:16
Message-ID: thhal-0KVPwApWVxicchSrHc3ZxJlQzn5JvSt@mailblocks.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane wrote:

>Thomas Hallgren <thhal(at)mailblocks(dot)com> writes:
>
>
>>My question is, what happens when the evaluator doesn't need more rows?
>>Will it:
>>a) call the function with call_cntr >= max_calls?
>>b) continue calling until the set is exhausted anyway?
>>c) simply stop calling?
>>
>>
>
>(c)
>
>
>
>>a) seems unlikely since max_calls is set by the user, b) doesn't seem
>>very optimal, and c) would be very bad since it doesn't give me any
>>chance to release the resources that where used in order to produce the
>>rows.
>>
>>
>
>This is what RegisterExprContextCallback is for.
>
> regards, tom lane
>
>
Thanks Tom,
This is exactly what I need. I didn't know that such a callback existed.
Perhaps it should be mentioned in the documentation chapter that talks
about SETOF and C-functions?

Regards,
Thomas Hallgren

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Magnus Hagander 2005-02-17 17:32:08 Re: win32 performance - fsync question
Previous Message Tom Lane 2005-02-17 15:28:53 Re: Terminating a SETOF function call sequence