aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/access/gist/gist.c13
-rw-r--r--src/backend/access/index/genam.c2
2 files changed, 9 insertions, 6 deletions
diff --git a/src/backend/access/gist/gist.c b/src/backend/access/gist/gist.c
index f203bb594cd..0683f42c258 100644
--- a/src/backend/access/gist/gist.c
+++ b/src/backend/access/gist/gist.c
@@ -1645,7 +1645,6 @@ gistprunepage(Relation rel, Page page, Buffer buffer, Relation heapRel)
int ndeletable = 0;
OffsetNumber offnum,
maxoff;
- TransactionId latestRemovedXid = InvalidTransactionId;
Assert(GistPageIsLeaf(page));
@@ -1664,13 +1663,15 @@ gistprunepage(Relation rel, Page page, Buffer buffer, Relation heapRel)
deletable[ndeletable++] = offnum;
}
- if (XLogStandbyInfoActive() && RelationNeedsWAL(rel))
- latestRemovedXid =
- index_compute_xid_horizon_for_tuples(rel, heapRel, buffer,
- deletable, ndeletable);
-
if (ndeletable > 0)
{
+ TransactionId latestRemovedXid = InvalidTransactionId;
+
+ if (XLogStandbyInfoActive() && RelationNeedsWAL(rel))
+ latestRemovedXid =
+ index_compute_xid_horizon_for_tuples(rel, heapRel, buffer,
+ deletable, ndeletable);
+
START_CRIT_SECTION();
PageIndexMultiDelete(page, deletable, ndeletable);
diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index c911c705ba6..1c3e937c615 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -301,6 +301,8 @@ index_compute_xid_horizon_for_tuples(Relation irel,
Page ipage = BufferGetPage(ibuf);
IndexTuple itup;
+ Assert(nitems > 0);
+
delstate.bottomup = false;
delstate.bottomupfreespace = 0;
delstate.ndeltids = 0;