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)
This commit is contained in:
Bruce Momjian 2020-11-12 14:33:28 -05:00
parent 48ab1fa304
commit 52003bf3c4
2 changed files with 8 additions and 1 deletions

View File

@ -1859,7 +1859,10 @@ The commands accepted in replication 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>

View File

@ -496,6 +496,10 @@ SendTimeLineHistory(TimeLineHistoryCmd *cmd)
pq_sendstring(&buf, "content"); /* col name */
pq_sendint32(&buf, 0); /* table oid */
pq_sendint16(&buf, 0); /* attnum */
/*
* While this is labeled as BYTEAOID, it is the same output format
* as TEXTOID above.
*/
pq_sendint32(&buf, BYTEAOID); /* type oid */
pq_sendint16(&buf, -1); /* typlen */
pq_sendint32(&buf, 0); /* typmod */