Fix generation of SP-GiST vacuum WAL records.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 7 Nov 2014 19:14:35 +0000 (21:14 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Fri, 7 Nov 2014 19:17:46 +0000 (21:17 +0200)
I broke these in 8776faa81cb651322b8993422bdd4633f1f6a487. Backpatch to
9.4, where that was done.

src/backend/access/spgist/spgvacuum.c

index a028cf1f42a1f0c305e4afd95c1b8751c5f627f4..2e05d22b74967ffa4b48c3c84c8d1780a48f076f 100644 (file)
@@ -452,7 +452,7 @@ vacuumLeafRoot(spgBulkDeleteState *bds, Relation index, Buffer buffer)
    xlrec.node = index->rd_node;
    STORE_STATE(&bds->spgstate, xlrec.stateSrc);
 
-   ACCEPT_RDATA_DATA(&xlrec, sizeof(xlrec), 0);
+   ACCEPT_RDATA_DATA(&xlrec, SizeOfSpgxlogVacuumRoot, 0);
    /* sizeof(xlrec) should be a multiple of sizeof(OffsetNumber) */
    ACCEPT_RDATA_DATA(toDelete, sizeof(OffsetNumber) * xlrec.nDelete, 1);
    ACCEPT_RDATA_BUFFER(buffer, 2);
@@ -585,7 +585,7 @@ vacuumRedirectAndPlaceholder(Relation index, Buffer buffer)
    {
        XLogRecPtr  recptr;
 
-       ACCEPT_RDATA_DATA(&xlrec, sizeof(xlrec), 0);
+       ACCEPT_RDATA_DATA(&xlrec, SizeOfSpgxlogVacuumRedirect, 0);
        ACCEPT_RDATA_DATA(itemToPlaceholder, sizeof(OffsetNumber) * xlrec.nToPlaceholder, 1);
        ACCEPT_RDATA_BUFFER(buffer, 2);