]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
doc: wire protocol data type for history file content is bytea
authorBruce Momjian <bruce@momjian.us>
Thu, 12 Nov 2020 19:33:28 +0000 (14:33 -0500)
committerBruce Momjian <bruce@momjian.us>
Thu, 12 Nov 2020 19:33:28 +0000 (14:33 -0500)
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
src/backend/replication/walsender.c

index 87d67c00569df859eeb57ec29db172234ca4d77f..7e3c6ad22cb51729f5c2cb44d02bcf62e45462d3 100644 (file)
@@ -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>
index d31e996a0657ecf4dabafee908c91c1bb26275db..f82932ffa280c7a6a242f05969b6343d52112973 100644 (file)
@@ -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 */