diff options
-rw-r--r-- | src/backend/access/hash/hashovfl.c | 4 | ||||
-rw-r--r-- | src/backend/access/hash/hashpage.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/backend/access/hash/hashovfl.c b/src/backend/access/hash/hashovfl.c index db3e268a761..df7af3ec842 100644 --- a/src/backend/access/hash/hashovfl.c +++ b/src/backend/access/hash/hashovfl.c @@ -656,6 +656,10 @@ _hash_squeezebucket(Relation rel, IndexTuple itup; Size itemsz; + /* skip dead tuples */ + if (ItemIdIsDead(PageGetItemId(rpage, roffnum))) + continue; + itup = (IndexTuple) PageGetItem(rpage, PageGetItemId(rpage, roffnum)); itemsz = IndexTupleDSize(*itup); diff --git a/src/backend/access/hash/hashpage.c b/src/backend/access/hash/hashpage.c index 178463fcb65..a5e9d176a7c 100644 --- a/src/backend/access/hash/hashpage.c +++ b/src/backend/access/hash/hashpage.c @@ -811,6 +811,10 @@ _hash_splitbucket(Relation rel, Size itemsz; Bucket bucket; + /* skip dead tuples */ + if (ItemIdIsDead(PageGetItemId(opage, ooffnum))) + continue; + /* * Fetch the item's hash key (conveniently stored in the item) and * determine which bucket it now belongs in. |