postgres.git / summary / log / commit / refs

commit    86913ba9abaf2a56ea19b61ccbcf9d35e894d5d0
Author:   Bruce Momjian <bruce@momjian.us>
Date:     Thu Nov 12 19:33:28 2020 +0000
First released in: 9.5.25, 9.6.21, 10.16, 11.11, 12.6, 13.2

    doc:  wire protocol data type for history file content is bytea
    
    Document that though the history file content is marked as bytea, it is
    the same a text, and neither is btyea-escaped or encoding converted.
    
    Reported-by: Brar Piening
    
    Discussion: https://postgr.es/m/6a1b9cd9-17e3-df67-be55-86102af6bdf5@gmx.de
    
    Backpatch-through: 13 - 9.5 (not master)


doc/src/sgml/protocol.sgml | 5 ++++- src/backend/replication/walsender.c | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 87d67c00569..7e3c6ad22cb 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -1425,7 +1425,10 @@ The commands accepted in walsender mode are: <para> Requests the server to send over the timeline history file for timeline <replaceable class="parameter">tli</replaceable>. Server replies with a - result set of a single row, containing two fields: + result set of a single row, containing two fields. While the + fields are labeled as <type>text</type> and <type>bytea</type>, + they effectively return raw bytes, with no escaping or encoding + conversion: </para> <para> diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c index d31e996a065..f82932ffa28 100644 --- a/src/backend/replication/walsender.c +++ b/src/backend/replication/walsender.c @@ -462,6 +462,10 @@ SendTimeLineHistory(TimeLineHistoryCmd *cmd) pq_sendstring(&buf, "content"); /* col name */ pq_sendint(&buf, 0, 4); /* table oid */ pq_sendint(&buf, 0, 2); /* attnum */ + /* + * While this is labeled as BYTEAOID, it is the same output format + * as TEXTOID above. + */ pq_sendint(&buf, BYTEAOID, 4); /* type oid */ pq_sendint(&buf, -1, 2); /* typlen */ pq_sendint(&buf, 0, 4); /* typmod */ [parent: 245a35f96e3a]