Re: Writing SRF

Поиск
Список
Период
Сортировка
От Jorge Arevalo
Тема Re: Writing SRF
Дата
Msg-id h2pd321138e1004281320pe48cc85blb17467bb6308444e@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Writing SRF  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Writing SRF  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
On Wed, Apr 28, 2010 at 7:00 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Jorge Arevalo <jorgearevalo@gis4free.org> writes:
>> I'm writing a SRF following the example from
>> http://www.postgresql.org/docs/8.4/interactive/xfunc-c.html (section
>> 34.9.10). In the example, in the code executed in first call, we get
>> the number of tuples to be returned, and no more. Then, in each call,
>> a new tuple is allocated and returned, until reach max_calls.
>
> You don't have to do it that way, by any means.  max_calls is just
> a field you can use if you feel like it --- it's not going to be
> looked at by anything outside your SRF.  If you don't want to determine
> the number of result rows at the start, just ignore max_calls, and
> use whatever method is convenient to decide that you're done
> returning rows.
>
>                        regards, tom lane
>

Yes, actually, I'm not using max_calls. I have my own stop condition.
Basically, I check if myStructsArray + call_cntr == NULL. I don't know
if it's the best way. I'll test it.

My doubt is if I'm doing things right getting all the stuff I need (an
array) in the first call, pointing user_fctx to this array and
accessing myStructsArray[call_cntr] in each successive call, until
myStructsArray + call_cntr == NULL (last array element?). In the
example, the row returned is generated from scratch in each call.

Many thanks,
Jorge

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

Предыдущее
От:
Дата:
Сообщение: Populate arrays from multiple rows
Следующее
От: Merlin Moncure
Дата:
Сообщение: Re: Populate arrays from multiple rows