Re: Pipeline mode and PQpipelineSync()

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

> If, however, I execute it by checking for results before sending the
> next INSERT, I get the following call sequence:
> 
> PQsendQueryPrepared() # INSERT #1
> PQflush()
> PQsendQueryPrepared() # INSERT #2
> PQflush()
> ...
> PQsendQueryPrepared() # INSERT #~400
> PQflush()
> PQconsumeInput()      # At this point select() indicates we can read.
> PQgetResult()         # NULL (???)
> PQgetResult()         # INSERT #1
> PQgetResult()         # NULL
> PQgetResult()         # INSERT #2
> PQgetResult()         # NULL
> ...
> 
> 
> What's strange here is that the first PQgetResult() call (marked with ???)
> returns NULL instead of result for INSERT #1 as in the first call sequence.
> Interestingly, if I skip it, the rest seems to progress as expected.

Yeah, I agree that there's a problem in the libpq state machine.  I'm
looking into it now.

-- 
Álvaro Herrera                            39°49'30"S 73°17'W



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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [Patch] change the default value of shared_buffers in postgresql.conf.sample
Следующее
От: Daniel Gustafsson
Дата:
Сообщение: Re: [Patch] change the default value of shared_buffers in postgresql.conf.sample