Re: [PATCH] Add additional extended protocol commands to psql: \parse and \bindx

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема Re: [PATCH] Add additional extended protocol commands to psql: \parse and \bindx
Дата
Msg-id ZqCMCS4HUshUYjGc@paquier.xyz
обсуждение исходный текст
Ответ на Re: [PATCH] Add additional extended protocol commands to psql: \parse and \bindx  (Tomas Vondra <tomas.vondra@enterprisedb.com>)
Список pgsql-hackers
On Fri, Jul 19, 2024 at 03:28:44PM +0200, Tomas Vondra wrote:
> OK, if you're already half-way through the review, I'll leave it up to
> you. I don't think we need to rush, and I'd have to learn about all the
> psql stuff first anyway.

It took me a couple of days to get back to it, but attached is what I
have finished with.  This was mostly OK, except for a few things:
- \close was inconsistent with the other two commands, where no
argument was treated as the unnamed prepared statement.  I think that
this should be made consistent with \parse and \bindx, requiring an
argument, where '' is the unnamed statement.
- The docs did not mention the case of the unnamed statement, so added
some notes about that.
- Some free() calls were not needed in the command executions, where
psql_scan_slash_option() returns NULL.
- Tests missing when no argument is provided for the new commands.

One last thing I have found really confusing is that this leads to the
addition of two more status flags in pset for the close and parse
parts, with \bind and \bindx sharing the third one while deciding
which path to use depending on if the statement name is provided.
That's fragile.  I think that it would be much cleaner to put all that
behind an enum, falling back to PQsendQuery() by default.  I am
attaching that as 0002, for clarity, but my plan is to merge both 0001
and 0002 together.
--
Michael

Вложения

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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: [PATCH] Add additional extended protocol commands to psql: \parse and \bindx
Следующее
От: Thomas Munro
Дата:
Сообщение: Re: Confine vacuum skip logic to lazy_scan_skip