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 24626.1048181454@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:
> Yes, I see that now.  res is NULL and PQresultStatus() is returning
> PGRES_NONFATAL_ERROR.  What is strange is that "" and "\n" both return
> an OK result, so I am trying to figure out why comments are different.

The backend special-cases an input string that contains only whitespace
(look in postgres.c).  The special case doesn't apply here, though.

>> Perhaps PGRES_EMPTY_QUERY would be more appropriate?  Not sure where in
>> the chain would be best to change the behavior, though.

> Yes.

Well, we could change the backend --- but that would be a nontrivial
change, and to tell you the truth I think the special response for empty
query is a wart on the protocol anyhow.  In the long run I'd rather get
rid of it.

Or we could change PQexec to return a PGRES_EMPTY_QUERY result if it
gets nothing back from the backend except ReadyForQuery.  Question is,
does that create the possibility of masking error conditions?

Or we could just change PQresultStatus to return PGRES_EMPTY_QUERY for
a null input.  Attractive 'cause it's a one-line change, but I think it
really does create the possibility of masking errors --- application
programmer errors, mostly.
        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!