mirror of
https://github.com/postgres/postgres.git
synced 2025-04-20 00:42:27 +03:00
Cope with NoData message from backend. Needed for case where
PQexecParams is used with a statement that doesn't return data.
This commit is contained in:
parent
b6e5823eda
commit
90ade5b775
@ -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)
|
|||||||
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)
|
|||||||
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)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user