diff options
author | Andres Freund <andres@anarazel.de> | 2023-04-01 20:12:26 -0700 |
---|---|---|
committer | Andres Freund <andres@anarazel.de> | 2023-04-01 20:18:29 -0700 |
commit | 61b313e47eb987682441c675724c22bf4363c9c4 (patch) | |
tree | d3cc190f131f23fa00e4d25edcff6d06b1499498 /src/backend/access/spgist | |
parent | a88a18b1250b9e6b40536e4dec04d32d655b8140 (diff) | |
download | postgresql-61b313e47eb987682441c675724c22bf4363c9c4.tar.gz postgresql-61b313e47eb987682441c675724c22bf4363c9c4.zip |
Pass down table relation into more index relation functions
This is done in preparation for logical decoding on standby, which needs to
include whether visibility affecting WAL records are about a (user) catalog
table. Which is only known for the table, not the indexes.
It's also nice to be able to pass the heap relation to GlobalVisTestFor() in
vacuumRedirectAndPlaceholder().
Author: "Drouvot, Bertrand" <bertranddrouvot.pg@gmail.com>
Discussion: https://postgr.es/m/21b700c3-eecf-2e05-a699-f8c78dd31ec7@gmail.com
Diffstat (limited to 'src/backend/access/spgist')
-rw-r--r-- | src/backend/access/spgist/spgvacuum.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/backend/access/spgist/spgvacuum.c b/src/backend/access/spgist/spgvacuum.c index 3adb18f2d82..3cff71e7203 100644 --- a/src/backend/access/spgist/spgvacuum.c +++ b/src/backend/access/spgist/spgvacuum.c @@ -489,7 +489,7 @@ vacuumLeafRoot(spgBulkDeleteState *bds, Relation index, Buffer buffer) * Unlike the routines above, this works on both leaf and inner pages. */ static void -vacuumRedirectAndPlaceholder(Relation index, Buffer buffer) +vacuumRedirectAndPlaceholder(Relation index, Relation heaprel, Buffer buffer) { Page page = BufferGetPage(buffer); SpGistPageOpaque opaque = SpGistPageGetOpaque(page); @@ -643,13 +643,13 @@ spgvacuumpage(spgBulkDeleteState *bds, BlockNumber blkno) else { vacuumLeafPage(bds, index, buffer, false); - vacuumRedirectAndPlaceholder(index, buffer); + vacuumRedirectAndPlaceholder(index, bds->info->heaprel, buffer); } } else { /* inner page */ - vacuumRedirectAndPlaceholder(index, buffer); + vacuumRedirectAndPlaceholder(index, bds->info->heaprel, buffer); } /* @@ -719,7 +719,7 @@ spgprocesspending(spgBulkDeleteState *bds) /* deal with any deletable tuples */ vacuumLeafPage(bds, index, buffer, true); /* might as well do this while we are here */ - vacuumRedirectAndPlaceholder(index, buffer); + vacuumRedirectAndPlaceholder(index, bds->info->heaprel, buffer); SpGistSetLastUsedPage(index, buffer); |