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/include/access/gist_private.h | |
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/include/access/gist_private.h')
-rw-r--r-- | src/include/access/gist_private.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/include/access/gist_private.h b/src/include/access/gist_private.h index 8af33d7b40d..ee275650bd0 100644 --- a/src/include/access/gist_private.h +++ b/src/include/access/gist_private.h @@ -440,7 +440,7 @@ extern XLogRecPtr gistXLogPageDelete(Buffer buffer, FullTransactionId xid, Buffer parentBuffer, OffsetNumber downlinkOffset); -extern void gistXLogPageReuse(Relation rel, BlockNumber blkno, +extern void gistXLogPageReuse(Relation rel, Relation heaprel, BlockNumber blkno, FullTransactionId deleteXid); extern XLogRecPtr gistXLogUpdate(Buffer buffer, @@ -449,7 +449,8 @@ extern XLogRecPtr gistXLogUpdate(Buffer buffer, Buffer leftchildbuf); extern XLogRecPtr gistXLogDelete(Buffer buffer, OffsetNumber *todelete, - int ntodelete, TransactionId snapshotConflictHorizon); + int ntodelete, TransactionId snapshotConflictHorizon, + Relation heaprel); extern XLogRecPtr gistXLogSplit(bool page_is_leaf, SplitedPageLayout *dist, @@ -485,7 +486,7 @@ extern bool gistproperty(Oid index_oid, int attno, extern bool gistfitpage(IndexTuple *itvec, int len); extern bool gistnospace(Page page, IndexTuple *itvec, int len, OffsetNumber todelete, Size freespace); extern void gistcheckpage(Relation rel, Buffer buf); -extern Buffer gistNewBuffer(Relation r); +extern Buffer gistNewBuffer(Relation r, Relation heaprel); extern bool gistPageRecyclable(Page page); extern void gistfillbuffer(Page page, IndexTuple *itup, int len, OffsetNumber off); |