Re: I want to send comments to the backend! - Mailing list pgsql-interfaces

From Tom Lane
Subject Re: I want to send comments to the backend!
Date
Msg-id 25054.1048185788@sss.pgh.pa.us
Whole thread Raw
In response to Re: I want to send comments to the backend!  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: I want to send comments to the backend!  (Bruce Momjian <pgman@candle.pha.pa.us>)
List 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 by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: I want to send comments to the backend!
Next
From: Bruce Momjian
Date:
Subject: Re: I want to send comments to the backend!