MCPcopy Create free account
hub / github.com/apache/cloudberry / PredicateLockPage

Function PredicateLockPage

src/backend/storage/lmgr/predicate.c:2591–2604  ·  view source on GitHub ↗

* PredicateLockPage * * Gets a predicate lock at the page level. * Skip if not in full serializable transaction isolation level. * Skip if this is a temporary table. * Skip if a coarser predicate lock already covers this page. * Clear any finer-grained predicate locks this session has on the relation. */

Source from the content-addressed store, hash-verified

2589 * Clear any finer-grained predicate locks this session has on the relation.
2590 */
2591void
2592PredicateLockPage(Relation relation, BlockNumber blkno, Snapshot snapshot)
2593{
2594 PREDICATELOCKTARGETTAG tag;
2595
2596 if (!SerializationNeededForRead(relation, snapshot))
2597 return;
2598
2599 SET_PREDICATELOCKTARGETTAG_PAGE(tag,
2600 relation->rd_node.dbNode,
2601 relation->rd_id,
2602 blkno);
2603 PredicateLockAcquire(&tag);
2604}
2605
2606/*
2607 * PredicateLockTID

Callers 11

moveRightIfItNeededFunction · 0.85
collectMatchBitmapFunction · 0.85
startScanEntryFunction · 0.85
scanPendingInsertFunction · 0.85
_hash_readnextFunction · 0.85
_hash_firstFunction · 0.85
gistScanPageFunction · 0.85
_bt_firstFunction · 0.85
_bt_readnextpageFunction · 0.85
_bt_endpointFunction · 0.85
IndexOnlyNextFunction · 0.85

Calls 2

PredicateLockAcquireFunction · 0.85

Tested by

no test coverage detected