diff --git a/src/backend/access/common/printsimple.c b/src/backend/access/common/printsimple.c index 469fe0baaf..8134c3be0c 100644 --- a/src/backend/access/common/printsimple.c +++ b/src/backend/access/common/printsimple.c @@ -95,8 +95,7 @@ printsimple(TupleTableSlot *slot, DestReceiver *self) pq_sendcountedtext(&buf, VARDATA_ANY(t), - VARSIZE_ANY_EXHDR(t), - false); + VARSIZE_ANY_EXHDR(t)); } break; @@ -107,7 +106,7 @@ printsimple(TupleTableSlot *slot, DestReceiver *self) int len; len = pg_ltoa(num, str); - pq_sendcountedtext(&buf, str, len, false); + pq_sendcountedtext(&buf, str, len); } break; @@ -118,7 +117,7 @@ printsimple(TupleTableSlot *slot, DestReceiver *self) int len; len = pg_lltoa(num, str); - pq_sendcountedtext(&buf, str, len, false); + pq_sendcountedtext(&buf, str, len); } break; @@ -129,7 +128,7 @@ printsimple(TupleTableSlot *slot, DestReceiver *self) int len; len = pg_ultoa_n(num, str); - pq_sendcountedtext(&buf, str, len, false); + pq_sendcountedtext(&buf, str, len); } break; diff --git a/src/backend/access/common/printtup.c b/src/backend/access/common/printtup.c index 8a4953ea03..ba0f8f5407 100644 --- a/src/backend/access/common/printtup.c +++ b/src/backend/access/common/printtup.c @@ -355,7 +355,7 @@ printtup(TupleTableSlot *slot, DestReceiver *self) char *outputstr; outputstr = OutputFunctionCall(&thisState->finfo, attr); - pq_sendcountedtext(buf, outputstr, strlen(outputstr), false); + pq_sendcountedtext(buf, outputstr, strlen(outputstr)); } else { diff --git a/src/backend/libpq/pqformat.c b/src/backend/libpq/pqformat.c index a697ccfbbf..aa9433bb3b 100644 --- a/src/backend/libpq/pqformat.c +++ b/src/backend/libpq/pqformat.c @@ -133,30 +133,27 @@ pq_sendbytes(StringInfo buf, const void *data, int datalen) * pq_sendcountedtext - append a counted text string (with character set conversion) * * The data sent to the frontend by this routine is a 4-byte count field - * followed by the string. The count includes itself or not, as per the - * countincludesself flag (pre-3.0 protocol requires it to include itself). - * The passed text string need not be null-terminated, and the data sent - * to the frontend isn't either. + * followed by the string. The count does not include itself, as required by + * protocol version 3.0. The passed text string need not be null-terminated, + * and the data sent to the frontend isn't either. * -------------------------------- */ void -pq_sendcountedtext(StringInfo buf, const char *str, int slen, - bool countincludesself) +pq_sendcountedtext(StringInfo buf, const char *str, int slen) { - int extra = countincludesself ? 4 : 0; char *p; p = pg_server_to_client(str, slen); if (p != str) /* actual conversion has been done? */ { slen = strlen(p); - pq_sendint32(buf, slen + extra); + pq_sendint32(buf, slen); appendBinaryStringInfoNT(buf, p, slen); pfree(p); } else { - pq_sendint32(buf, slen + extra); + pq_sendint32(buf, slen); appendBinaryStringInfoNT(buf, str, slen); } } diff --git a/src/backend/replication/logical/proto.c b/src/backend/replication/logical/proto.c index f273005c15..95c09c9516 100644 --- a/src/backend/replication/logical/proto.c +++ b/src/backend/replication/logical/proto.c @@ -851,7 +851,7 @@ logicalrep_write_tuple(StringInfo out, Relation rel, TupleTableSlot *slot, pq_sendbyte(out, LOGICALREP_COLUMN_TEXT); outputstr = OidOutputFunctionCall(typclass->typoutput, values[i]); - pq_sendcountedtext(out, outputstr, strlen(outputstr), false); + pq_sendcountedtext(out, outputstr, strlen(outputstr)); pfree(outputstr); } diff --git a/src/backend/tcop/fastpath.c b/src/backend/tcop/fastpath.c index e35bee38f6..83b5120d17 100644 --- a/src/backend/tcop/fastpath.c +++ b/src/backend/tcop/fastpath.c @@ -85,7 +85,7 @@ SendFunctionResult(Datum retval, bool isnull, Oid rettype, int16 format) getTypeOutputInfo(rettype, &typoutput, &typisvarlena); outputstr = OidOutputFunctionCall(typoutput, retval); - pq_sendcountedtext(&buf, outputstr, strlen(outputstr), false); + pq_sendcountedtext(&buf, outputstr, strlen(outputstr)); pfree(outputstr); } else if (format == 1) diff --git a/src/include/libpq/pqformat.h b/src/include/libpq/pqformat.h index a710bc1868..7f48cbded9 100644 --- a/src/include/libpq/pqformat.h +++ b/src/include/libpq/pqformat.h @@ -23,8 +23,7 @@ extern void pq_endmessage(StringInfo buf); extern void pq_endmessage_reuse(StringInfo buf); extern void pq_sendbytes(StringInfo buf, const void *data, int datalen); -extern void pq_sendcountedtext(StringInfo buf, const char *str, int slen, - bool countincludesself); +extern void pq_sendcountedtext(StringInfo buf, const char *str, int slen); extern void pq_sendtext(StringInfo buf, const char *str, int slen); extern void pq_sendstring(StringInfo buf, const char *str); extern void pq_send_ascii_string(StringInfo buf, const char *str);