OSDN Git Service

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

index dc57789..a7348ec 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 774881f..5bd9002 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 "