Re: I want to send comments to the backend!

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: I want to send comments to the backend!
Дата
Msg-id 25054.1048185788@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: I want to send comments to the backend!  (Bruce Momjian <pgman@candle.pha.pa.us>)
Ответы Re: I want to send comments to the backend!  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список pgsql-interfaces
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Could we change the backend to return NullCommand() if the query string
> was empty, rather than checking for whitespace directly?  I thought the
> whitespace test was there only as a performance hack.

It's not a performance hack; it's a performance loss, because 99.99999%
of the time the strspn test is wasted.  Don't tell me that empty queries
are an important case to optimize ;-).

The only reason that code is still there is that old versions of libpq
used to need to see a special NullCommand response when they
deliberately sent empty queries (which IIRC they used to do for NOTIFY
checks, many years ago before the backend would send NOTIFYs
unprompted).  I'd prefer to take NullCommand out of the protocol, not
generalize it to understand about comments.  Right now seems to be a
fine time to think about this, in fact, given that we're hacking the
protocol anyway.

If we were only dealing with libpq, I think I'd take that code out of
the backend and modify PQexec to produce a PGRES_EMPTY_QUERY on getting
only ReadyForQuery from the backend.  I'm not sure whether JDBC or ODBC
might care about NullCommand responses, though --- anyone know?
        regards, tom lane


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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: I want to send comments to the backend!
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: I want to send comments to the backend!