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:18:34 +0000 (21:18 +0200)
I broke these in 8776faa81cb651322b8993422bdd4633f1f6a487. Backpatch to
9.4, where that was done.

src/backend/access/spgist/spgvacuum.c

index 01b8ffe5acd89f2495e6647e52105afb5ee13b4a..7c5a0016c2ab47ea5c92d95088e2ab94102b9b24 100644 (file)
@@ -451,7 +451,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);
@@ -584,7 +584,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);