Reversed out libpq protocol patch for Tom Lane.
authorBruce Momjian
Sun, 14 Mar 1999 18:12:21 +0000 (18:12 +0000)
committerBruce Momjian
Sun, 14 Mar 1999 18:12:21 +0000 (18:12 +0000)
src/interfaces/ecpg/preproc/preproc.c
src/interfaces/libpq/fe-exec.c

index dc57789994ca4c2dbba65b9f35e0e7d39183c989..a7348eca29e8338cbbc3a273b7860b9a294ff2a5 100644 (file)
@@ -11220,7 +11220,7 @@ case 468:
 case 469:
 #line 2621 "preproc.y"
 {
-                   yyval.str = yyvsp[0].str
+                   yyval.str = yyvsp[0].str;
                ;
     break;}
 case 470:
index 774881f884e89f7e111033e926bae756f4269a24..5bd9002cedf05611c99b478a7c66b29f8389d31b 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-exec.c,v 1.76 1999/03/14 16:46:21 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-exec.c,v 1.77 1999/03/14 18:12:21 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -467,7 +467,6 @@ static void
 parseInput(PGconn *conn)
 {
    char        id;
-        static int      pendingT = 0;
 
    /*
     * Loop to parse successive complete messages available in the buffer.
@@ -536,16 +535,7 @@ parseInput(PGconn *conn)
                                                           PGRES_COMMAND_OK);
                    if (pqGets(conn->result->cmdStatus, CMDSTATUS_LEN, conn))
                        return;
-                                        if (pendingT) {
-                                            /* Check the returned message */
-                                            /* if it's a SELECT or FETCH in a pendingT case, */
-                                            /* then it probably means no rows returned. */
-                                            /* We clear pendingT in that case. */
-                                            if ((strncmp(conn->result->cmdStatus, "SELECT", 6) == 0) ||
-                                                (strncmp(conn->result->cmdStatus, "FETCH",  5) == 0))
-                                                pendingT = 0;
-                                        }
-                   if (!pendingT) conn->asyncStatus = PGASYNC_READY;
+                   conn->asyncStatus = PGASYNC_READY;
                    break;
                case 'E':       /* error return */
                    if (pqGets(conn->errorMessage, ERROR_MSG_LENGTH, conn))
@@ -555,11 +545,10 @@ parseInput(PGconn *conn)
                    /* and build an error result holding the error message */
                    conn->result = PQmakeEmptyPGresult(conn,
                                                       PGRES_FATAL_ERROR);
-                   if (!pendingT) conn->asyncStatus = PGASYNC_READY;
+                   conn->asyncStatus = PGASYNC_READY;
                    break;
                case 'Z':       /* backend is ready for new query */
                    conn->asyncStatus = PGASYNC_IDLE;
-                                        pendingT = 0;
                    break;
                case 'I':       /* empty query */
                    /* read and throw away the closing '\0' */
@@ -574,7 +563,7 @@ parseInput(PGconn *conn)
                    if (conn->result == NULL)
                        conn->result = PQmakeEmptyPGresult(conn,
                                                           PGRES_EMPTY_QUERY);
-                   if (!pendingT) conn->asyncStatus = PGASYNC_READY;
+                   conn->asyncStatus = PGASYNC_READY;
                    break;
                case 'K':       /* secret key data from the backend */
 
@@ -595,15 +584,11 @@ parseInput(PGconn *conn)
                    break;
                case 'T':       /* row descriptions (start of query
                                 * results) */
-                                        if (pendingT) {
-                                            DONOTICE(conn, "Got second 'T' message!\n");
-                                        }
                    if (conn->result == NULL)
                    {
                        /* First 'T' in a query sequence */
                        if (getRowDescriptions(conn))
                            return;
-                                                pendingT = 1;
                    }
                    else
                    {
@@ -615,13 +600,11 @@ parseInput(PGconn *conn)
                         * We stop parsing until the application accepts
                         * the current result.
                         */
-                                                pendingT = 0;
                        conn->asyncStatus = PGASYNC_READY;
                        return;
                    }
                    break;
                case 'D':       /* ASCII data tuple */
-                                        pendingT = 0;
                    if (conn->result != NULL)
                    {
                        /* Read another tuple of a normal query response */
@@ -639,7 +622,6 @@ parseInput(PGconn *conn)
                    }
                    break;
                case 'B':       /* Binary data tuple */
-                                        pendingT = 0;
                    if (conn->result != NULL)
                    {
                        /* Read another tuple of a normal query response */
@@ -657,15 +639,12 @@ parseInput(PGconn *conn)
                    }
                    break;
                case 'G':       /* Start Copy In */
-                                        pendingT = 0;
                    conn->asyncStatus = PGASYNC_COPY_IN;
                    break;
                case 'H':       /* Start Copy Out */
-                                        pendingT = 0;
                    conn->asyncStatus = PGASYNC_COPY_OUT;
                    break;
                default:
-                                        pendingT = 0;
                    sprintf(conn->errorMessage,
                    "unknown protocol character '%c' read from backend.  "
                    "(The protocol character is the first character the "