Commit 90ade5b7 authored by Tom Lane's avatar Tom Lane

Cope with NoData message from backend. Needed for case where

PQexecParams is used with a statement that doesn't return data.
parent b6e5823e
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-protocol3.c,v 1.6 2003/08/04 02:40:20 momjian Exp $ * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-protocol3.c,v 1.7 2003/08/12 21:34:44 tgl Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -232,8 +232,7 @@ pqParseInput3(PGconn *conn) ...@@ -232,8 +232,7 @@ pqParseInput3(PGconn *conn)
if (pqGetInt(&(conn->be_key), 4, conn)) if (pqGetInt(&(conn->be_key), 4, conn))
return; return;
break; break;
case 'T': /* row descriptions (start of query case 'T': /* Row Description */
* results) */
if (conn->result == NULL) if (conn->result == NULL)
{ {
/* First 'T' in a query sequence */ /* First 'T' in a query sequence */
...@@ -253,6 +252,17 @@ pqParseInput3(PGconn *conn) ...@@ -253,6 +252,17 @@ pqParseInput3(PGconn *conn)
return; return;
} }
break; break;
case 'n': /* No Data */
/*
* NoData indicates that we will not be seeing a
* RowDescription message because the statement or
* portal inquired about doesn't return rows.
* Set up a COMMAND_OK result, instead of TUPLES_OK.
*/
if (conn->result == NULL)
conn->result = PQmakeEmptyPGresult(conn,
PGRES_COMMAND_OK);
break;
case 'D': /* Data Row */ case 'D': /* Data Row */
if (conn->result != NULL && if (conn->result != NULL &&
conn->result->resultStatus == PGRES_TUPLES_OK) conn->result->resultStatus == PGRES_TUPLES_OK)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment