mirror of
https://github.com/postgres/postgres.git
synced 2025-05-30 00:02:11 -04:00
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
This commit is contained in:
parent
ce340e530d
commit
9effa55236
@ -895,25 +895,19 @@ logicalrep_read_tuple(StringInfo in, LogicalRepTupleData *tuple)
|
|||||||
/* we don't receive the value of an unchanged column */
|
/* we don't receive the value of an unchanged column */
|
||||||
break;
|
break;
|
||||||
case LOGICALREP_COLUMN_TEXT:
|
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:
|
case LOGICALREP_COLUMN_BINARY:
|
||||||
len = pq_getmsgint(in, 4); /* read length */
|
len = pq_getmsgint(in, 4); /* read length */
|
||||||
|
|
||||||
/* and data */
|
/* and data */
|
||||||
value->data = palloc(len + 1);
|
value->data = palloc(len + 1);
|
||||||
pq_copymsgbytes(in, value->data, len);
|
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';
|
value->data[len] = '\0';
|
||||||
|
|
||||||
/* make StringInfo fully valid */
|
/* make StringInfo fully valid */
|
||||||
value->len = len;
|
value->len = len;
|
||||||
value->cursor = 0;
|
value->cursor = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user