Re: Stateful pointers in set-returning functions

Поиск
Список
Период
Сортировка
От Ian Pye
Тема Re: Stateful pointers in set-returning functions
Дата
Msg-id CAEVWPAXSy60uHe7L8KLRBo9+M3_bz+aUdm4eweaw3MQOdRD=iw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Stateful pointers in set-returning functions  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Fair enough -- thanks for the tip.

On Thu, May 24, 2012 at 11:21 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Ian Pye <ianpye@gmail.com> writes:
>> I'm writing a set-returning function which places a file handle into
>> PG's FuncCallContext's user_fctx space. My problem is that when the
>> function is ran with a limit clause (SELECT * FROM foo() LIMIT 10) the
>> server will stop calling the function automatically, not giving me a
>> chance to close the file handle. Is there a way to get the limit value
>> inside of foo() and set the max max_calls parameter correctly?
>
> No, and even if there were, this would be a very unsafe practice,
> since errors or other issues could result in early termination of the
> query.
>
> You would likely be better off using tuplestore return mode so that you
> can do all the reading during one call and not have to assume that
> you'll get control back again.
>
>                        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: Changing the concept of a DATABASE
Следующее
От: Tom Lane
Дата:
Сообщение: Re: "could not open relation with OID" errors after promoting the standby to master