Re: Bug in pgbench prepared statements

Поиск
Список
Период
Сортировка
От Lev Kokotov
Тема Re: Bug in pgbench prepared statements
Дата
Msg-id CAPwLVyKTTxCX43nSEXxo-B0T3DH81N+vZhr1JLW41pxYPOWJOw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Bug in pgbench prepared statements  (Michael Paquier <michael@paquier.xyz>)
Ответы Re: Bug in pgbench prepared statements  (Michael Paquier <michael@paquier.xyz>)
Список pgsql-hackers
> The patch you have sent does not apply cleanly on the master branch,
> could you rebase please?

Attached. PR against master also here, just to make sure it's mergeable.

> Wouldn't it
> better to consume the errors from PQsendQueryPrepared() and
> PQsendQueryParams() when these fail?

The error is returned in PQPrepare(), which happens only in QUERY_PREPARED mode, so PQsendQueryParams() does not apply, and before PQsendQueryPrepared() is called, so catching the error from PQsendQueryPrepared() is exactly what's causing the bug: ERROR:  prepared statement "P_0" does not exist.

Best,

Lev

On Thu, Nov 30, 2023 at 11:19 PM Michael Paquier <michael@paquier.xyz> wrote:
On Thu, Nov 30, 2023 at 07:15:54PM -0800, Lev Kokotov wrote:
>> I see prepareCommand() is called one more time in
>> prepareCommandsInPipeline(). Should you also check the return value
>> there?
>
> Yes, good catch. New patch attached.

Agreed that this is not really helpful as it stands

>> It may also be useful to throw this patch on the January commitfest if
>> no one else comes along to review/commit it.
>
> First time contributing, not familiar with the process here, but happy to
> learn.

The patch you have sent does not apply cleanly on the master branch,
could you rebase please?

FWIW, I am a bit confused by the state of sendCommand().  Wouldn't it
better to consume the errors from PQsendQueryPrepared() and
PQsendQueryParams() when these fail?
--
Michael
Вложения

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

Предыдущее
От: Davin Shearer
Дата:
Сообщение: Re: Emitting JSON to file using COPY TO
Следующее
От: Joe Conway
Дата:
Сообщение: Re: Emitting JSON to file using COPY TO