X-Original-To: pgsql-interfaces@postgresql.org Received: from sss.pgh.pa.us (unknown [192.204.191.242]) by postgresql.org (Postfix) with ESMTP id 5A31B474E4F for ; Thu, 20 Mar 2003 12:30:56 -0500 (EST) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss.pgh.pa.us (8.12.8/8.12.8) with ESMTP id h2KHUsub024627; Thu, 20 Mar 2003 12:30:54 -0500 (EST) To: Bruce Momjian Cc: =?ISO-8859-1?Q?Gerhard_H=E4ring?= , pgsql-interfaces@postgresql.org Subject: Re: I want to send comments to the backend! In-reply-to: <200303201722.h2KHMH614777@candle.pha.pa.us> References: <200303201722.h2KHMH614777@candle.pha.pa.us> Comments: In-reply-to Bruce Momjian message dated "Thu, 20 Mar 2003 12:22:17 -0500" Date: Thu, 20 Mar 2003 12:30:54 -0500 Message-ID: <24626.1048181454@sss.pgh.pa.us> From: Tom Lane X-Archive-Number: 200303/101 X-Sequence-Number: 3850 Bruce Momjian 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