diff options
author | Amit Kapila <akapila@postgresql.org> | 2023-03-06 09:54:57 +0530 |
---|---|---|
committer | Amit Kapila <akapila@postgresql.org> | 2023-03-06 09:54:57 +0530 |
commit | 9effa5523601de52c94fb778b4a00a183a9aa056 (patch) | |
tree | b42a269fba4bc0ff05b0ea7eef0a7fa93b7c3ca9 /src | |
parent | ce340e530d1f76367379a8d230ad5f411e5f25d2 (diff) | |
download | postgresql-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.c | 18 |
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; |