Re: I want to send comments to the backend!

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Gerhard Häring <lists(at)ghaering(dot)de>, pgsql-interfaces(at)postgresql(dot)org
Subject: Re: I want to send comments to the backend!
Date: 2003-03-20 17:30:54
Message-ID: 24626.1048181454@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)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

In response to

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message Bruce Momjian 2003-03-20 18:04:03 Re: I want to send comments to the backend!
Previous Message Bruce Momjian 2003-03-20 17:22:17 Re: I want to send comments to the backend!