aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAmit Kapila <akapila@postgresql.org>2023-03-06 09:54:57 +0530
committerAmit Kapila <akapila@postgresql.org>2023-03-06 09:54:57 +0530
commit9effa5523601de52c94fb778b4a00a183a9aa056 (patch)
treeb42a269fba4bc0ff05b0ea7eef0a7fa93b7c3ca9 /src
parentce340e530d1f76367379a8d230ad5f411e5f25d2 (diff)
downloadpostgresql-9effa5523601de52c94fb778b4a00a183a9aa056.tar.gz
postgresql-9effa5523601de52c94fb778b4a00a183a9aa056.zip
Deduplicate handling of binary and text modes in logicalrep_read_tuple().
Author: Bharath Rupireddy Reviewed-by: Peter Smith Discussion: https://postgr.es/m/CALj2ACXdbq7kW_+bRrSGMsR6nefCvwbHBJ5J51mr3gFf7QysTA@mail.gmail.com
Diffstat (limited to 'src')
-rw-r--r--src/backend/replication/logical/proto.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/src/backend/replication/logical/proto.c b/src/backend/replication/logical/proto.c
index 3a9d53a61ed..f3087132758 100644
--- a/src/backend/replication/logical/proto.c
+++ b/src/backend/replication/logical/proto.c
@@ -895,25 +895,19 @@ logicalrep_read_tuple(StringInfo in, LogicalRepTupleData *tuple)
/* we don't receive the value of an unchanged column */
break;
case LOGICALREP_COLUMN_TEXT:
- len = pq_getmsgint(in, 4); /* read length */
-
- /* and data */
- value->data = palloc(len + 1);
- pq_copymsgbytes(in, value->data, len);
- value->data[len] = '\0';
- /* make StringInfo fully valid */
- value->len = len;
- value->cursor = 0;
- value->maxlen = len;
- break;
case LOGICALREP_COLUMN_BINARY:
len = pq_getmsgint(in, 4); /* read length */
/* and data */
value->data = palloc(len + 1);
pq_copymsgbytes(in, value->data, len);
- /* not strictly necessary but per StringInfo practice */
+
+ /*
+ * Not strictly necessary for LOGICALREP_COLUMN_BINARY, but
+ * per StringInfo practice.
+ */
value->data[len] = '\0';
+
/* make StringInfo fully valid */
value->len = len;
value->cursor = 0;