diff --git a/src/backend/access/common/printtup.c b/src/backend/access/common/printtup.c index d213af9074..e2b1050c96 100644 --- a/src/backend/access/common/printtup.c +++ b/src/backend/access/common/printtup.c @@ -229,9 +229,7 @@ SendRowDescriptionMessage(TupleDesc typeinfo, List *targetlist, int16 *formats) atttypid = getBaseTypeAndTypmod(atttypid, &atttypmod); pq_sendint(&buf, (int) atttypid, sizeof(atttypid)); pq_sendint(&buf, attrs[i]->attlen, sizeof(attrs[i]->attlen)); - /* typmod appears in protocol 2.0 and up */ - if (proto >= 2) - pq_sendint(&buf, atttypmod, sizeof(atttypmod)); + pq_sendint(&buf, atttypmod, sizeof(atttypmod)); /* format info appears in protocol 3.0 and up */ if (proto >= 3) { diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c index 457c9bbd74..b4140eb68a 100644 --- a/src/backend/commands/copy.c +++ b/src/backend/commands/copy.c @@ -353,7 +353,7 @@ SendCopyBegin(CopyState cstate) pq_endmessage(&buf); cstate->copy_dest = COPY_NEW_FE; } - else if (PG_PROTOCOL_MAJOR(FrontendProtocol) >= 2) + else { /* old way */ if (cstate->binary) @@ -365,18 +365,6 @@ SendCopyBegin(CopyState cstate) pq_startcopyout(); cstate->copy_dest = COPY_OLD_FE; } - else - { - /* very old way */ - if (cstate->binary) - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("COPY BINARY is not supported to stdout or from stdin"))); - pq_putemptymessage('B'); - /* grottiness needed for old COPY OUT protocol */ - pq_startcopyout(); - cstate->copy_dest = COPY_OLD_FE; - } } static void @@ -399,7 +387,7 @@ ReceiveCopyBegin(CopyState cstate) cstate->copy_dest = COPY_NEW_FE; cstate->fe_msgbuf = makeStringInfo(); } - else if (PG_PROTOCOL_MAJOR(FrontendProtocol) >= 2) + else { /* old way */ if (cstate->binary) @@ -411,18 +399,6 @@ ReceiveCopyBegin(CopyState cstate) pq_startmsgread(); cstate->copy_dest = COPY_OLD_FE; } - else - { - /* very old way */ - if (cstate->binary) - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("COPY BINARY is not supported to stdout or from stdin"))); - pq_putemptymessage('D'); - /* any error in old protocol will make us lose sync */ - pq_startmsgread(); - cstate->copy_dest = COPY_OLD_FE; - } /* We *must* flush here to ensure FE knows it can send. */ pq_flush(); } diff --git a/src/backend/tcop/dest.c b/src/backend/tcop/dest.c index de45cbc4fb..60a92801f1 100644 --- a/src/backend/tcop/dest.c +++ b/src/backend/tcop/dest.c @@ -218,8 +218,8 @@ NullCommand(CommandDest dest) /* ---------------- * ReadyForQuery - tell dest that we are ready for a new query * - * The ReadyForQuery message is sent in protocol versions 2.0 and up - * so that the FE can tell when we are done processing a query string. + * The ReadyForQuery message is sent so that the FE can tell when + * we are done processing a query string. * In versions 3.0 and up, it also carries a transaction state indicator. * * Note that by flushing the stdio buffer here, we can avoid doing it @@ -241,7 +241,7 @@ ReadyForQuery(CommandDest dest) pq_sendbyte(&buf, TransactionBlockStatusCode()); pq_endmessage(&buf); } - else if (PG_PROTOCOL_MAJOR(FrontendProtocol) >= 2) + else pq_putemptymessage('Z'); /* Flush output at end of cycle in any case. */ pq_flush(); diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index 98ccbbb4d1..2347f1bcdc 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -3768,8 +3768,7 @@ PostgresMain(int argc, char *argv[], /* * Send this backend's cancellation info to the frontend. */ - if (whereToSendOutput == DestRemote && - PG_PROTOCOL_MAJOR(FrontendProtocol) >= 2) + if (whereToSendOutput == DestRemote) { StringInfoData buf; diff --git a/src/include/libpq/pqcomm.h b/src/include/libpq/pqcomm.h index c6bbfc2377..96484227f7 100644 --- a/src/include/libpq/pqcomm.h +++ b/src/include/libpq/pqcomm.h @@ -107,7 +107,7 @@ typedef struct /* The earliest and latest frontend/backend protocol version supported. */ -#define PG_PROTOCOL_EARLIEST PG_PROTOCOL(1,0) +#define PG_PROTOCOL_EARLIEST PG_PROTOCOL(2,0) #define PG_PROTOCOL_LATEST PG_PROTOCOL(3,0) typedef uint32 ProtocolVersion; /* FE/BE protocol version number */