From 97db712762838b31aa54ba695b927731a9937907 Mon Sep 17 00:00:00 2001 From: Aleksander Alekseev Date: Wed, 16 Sep 2026 16:08:03 +0300 Subject: [PATCH v1] Remove unused PageIsPredicateLocked() Oversight in 47ad79122bc. Author: Aleksander Alekseev Reviewed-by: TODO FIXME Discussion: TODO FIXME --- src/backend/storage/lmgr/predicate.c | 40 ---------------------------- src/include/storage/predicate.h | 3 --- 2 files changed, 43 deletions(-) diff --git a/src/backend/storage/lmgr/predicate.c b/src/backend/storage/lmgr/predicate.c index 0ae85b7d5b4..b888823f312 100644 --- a/src/backend/storage/lmgr/predicate.c +++ b/src/backend/storage/lmgr/predicate.c @@ -154,7 +154,6 @@ * * predicate lock reporting * GetPredicateLockStatusData(void) - * PageIsPredicateLocked(Relation relation, BlockNumber blkno) * * predicate lock maintenance * GetSerializableTransactionSnapshot(Snapshot snapshot) @@ -1920,45 +1919,6 @@ RegisterPredicateLockingXid(TransactionId xid) } -/* - * Check whether there are any predicate locks held by any transaction - * for the page at the given block number. - * - * Note that the transaction may be completed but not yet subject to - * cleanup due to overlapping serializable transactions. This must - * return valid information regardless of transaction isolation level. - * - * Also note that this doesn't check for a conflicting relation lock, - * just a lock specifically on the given page. - * - * One use is to support proper behavior during GiST index vacuum. - */ -bool -PageIsPredicateLocked(Relation relation, BlockNumber blkno) -{ - PREDICATELOCKTARGETTAG targettag; - uint32 targettaghash; - LWLock *partitionLock; - PREDICATELOCKTARGET *target; - - SET_PREDICATELOCKTARGETTAG_PAGE(targettag, - relation->rd_locator.dbOid, - relation->rd_id, - blkno); - - targettaghash = PredicateLockTargetTagHashCode(&targettag); - partitionLock = PredicateLockHashPartitionLock(targettaghash); - LWLockAcquire(partitionLock, LW_SHARED); - target = (PREDICATELOCKTARGET *) - hash_search_with_hash_value(PredicateLockTargetHash, - &targettag, targettaghash, - HASH_FIND, NULL); - LWLockRelease(partitionLock); - - return (target != NULL); -} - - /* * Check whether a particular lock is held by this transaction. * diff --git a/src/include/storage/predicate.h b/src/include/storage/predicate.h index 443bffb58fd..ebc93b07bcd 100644 --- a/src/include/storage/predicate.h +++ b/src/include/storage/predicate.h @@ -43,9 +43,6 @@ typedef void *SerializableXactHandle; */ extern void CheckPointPredicate(void); -/* predicate lock reporting */ -extern bool PageIsPredicateLocked(Relation relation, BlockNumber blkno); - /* predicate lock maintenance */ extern Snapshot GetSerializableTransactionSnapshot(Snapshot snapshot); extern void SetSerializableTransactionSnapshot(Snapshot snapshot, -- 2.43.0