Re: Re: BUG #8448: looping through query results exits at 10th step under some conditions

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Re: BUG #8448: looping through query results exits at 10th step under some conditions
Дата
Msg-id 14791.1384294018@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: BUG #8448: looping through query results exits at 10th step under some conditions  (David Johnston <polobo@yahoo.com>)
Список pgsql-bugs
David Johnston <polobo@yahoo.com> writes:
> So, is there an underlying use-case driving this complaint that should be
> considered by the community either to induce a fix to the behavior or just
> to solicit suggestions for better alternatives?

While I agree the specific test case presented isn't terribly compelling,
it's not that hard to think of other scenarios where somebody might be
surprised at the presence of prefetching.  Consider perhaps the
requirement "give me the next value from sequence s1 that's divisible
by ten".  On its face this doesn't seem like a terrible implementation:

   for s in select nextval('s1') from generate_series(1,10) loop
     if s % 10 = 0 then exit loop; end if;
   end loop;

This will do what's asked for but it will typically increment the sequence
several extra times due to internal prefetching.  Perhaps the application
can tolerate that, perhaps not.  With a user-defined volatile function,
the unwanted side effects might be quite unacceptable.

Anyway, I'm not hugely motivated to change the code to fix this, but
I think we at least ought to document it.

            regards, tom lane

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

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: BUG #8588: Need work arounds for Apple unaligned access
Следующее
От: Jeffrey Walton
Дата:
Сообщение: Re: BUG #8588: Need work arounds for Apple unaligned access