The comments claim that certain pieces of data are part of the main
WAL record data when in reality they are part of the data for
block 0. Repair.
Bertrand Drouvot, reviewed by Amit Kapila. Originally reported by me.
Discussion: http://postgr.es/m/
80db7836-4415-d54a-64c3-
66b88b1430e7@gmail.com
TransactionId snapshotConflictHorizon;
uint16 ntodelete; /* number of deleted offsets */
- /*
- * In payload of blk 0 : todelete OffsetNumbers
- */
+ /* TODELETE OFFSET NUMBER ARRAY FOLLOWS */
} gistxlogDelete;
#define SizeOfGistxlogDelete (offsetof(gistxlogDelete, ntodelete) + sizeof(uint16))
TransactionId snapshotConflictHorizon;
uint16 nplans;
- /* FREEZE PLANS FOLLOW */
- /* OFFSET NUMBER ARRAY FOLLOWS */
+ /*
+ * In payload of blk 0 : FREEZE PLANS and OFFSET NUMBER ARRAY
+ */
} xl_heap_freeze_page;
#define SizeOfHeapFreezePage (offsetof(xl_heap_freeze_page, nplans) + sizeof(uint16))
uint16 ndeleted;
uint16 nupdated;
- /* DELETED TARGET OFFSET NUMBERS FOLLOW */
- /* UPDATED TARGET OFFSET NUMBERS FOLLOW */
- /* UPDATED TUPLES METADATA (xl_btree_update) ARRAY FOLLOWS */
+ /*----
+ * In payload of blk 0 :
+ * - DELETED TARGET OFFSET NUMBERS
+ * - UPDATED TARGET OFFSET NUMBERS
+ * - UPDATED TUPLES METADATA (xl_btree_update) ARRAY
+ *----
+ */
} xl_btree_delete;
#define SizeOfBtreeDelete (offsetof(xl_btree_delete, nupdated) + sizeof(uint16))