Re: Pipeline mode and PQpipelineSync()

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: Pipeline mode and PQpipelineSync()
Дата
Msg-id 202107081357.xbplnti7szms@alvherre.pgsql
обсуждение исходный текст
Ответ на Re: Pipeline mode and PQpipelineSync()  (Boris Kolpackov <boris@codesynthesis.com>)
Ответы Re: Pipeline mode and PQpipelineSync()
Список pgsql-hackers
On 2021-Jul-08, Boris Kolpackov wrote:

> Alvaro Herrera <alvaro.herrera@2ndquadrant.com> writes:
> 
> > Hmm ... aren't you trying to read more results than you sent queries?
> 
> Hm, but should I be able to? Or, to put another way, should PQisBusy()
> indicate there is a result available without me sending a query for it?
> That sounds very counter-intuitive to me.

That seems a fair complaint, but I think PQisBusy is doing the right
thing per its charter.  It is documented as "would PQgetResult block?"
and it is returning correctly that PQgetResult would not block in that
situation, because no queries are pending.  I think we would regret
changing PQisBusy in the way you suggest.

I think your expectation is that we would have an entry point for easy
iteration; a way to say "if there's a result set to be had, can I have
it please, otherwise I'm done iterating".  That seems a reasonable ask,
but PQisBusy is not that.  Maybe it would be PQisResultPending() or
something like that.  I again have to ask the RMT what do they think of
adding such a thing to libpq this late in the cycle.

-- 
Álvaro Herrera           39°49'30"S 73°17'W  —  https://www.EnterpriseDB.com/



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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: visibility map corruption
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: SHA-1 FIPS - compliance