src/backend/concurrency/optimistic_txn_manager.cpp
// if the tuple is not owned by any transaction and is visible to current
// transaction.
// this function is called by update/delete executors.
if the tuple is not owned by any transaction and is visible to current
transaction.
this function is called by update/delete executors.
if the tuple is not owned by any transaction and is visible to current transaction . this function is called by update / delete executors .
bool OptimisticTxnManager::IsOwnable(
    const storage::TileGroupHeader *const tile_group_header,
    const oid_t &tuple_id) {
  auto tuple_txn_id = tile_group_header->GetTransactionId(tuple_id);
  auto tuple_end_cid = tile_group_header->GetEndCommitId(tuple_id);
  return tuple_txn_id == INITIAL_TXN_ID && tuple_end_cid == MAX_CID;
}
bool OptimisticTxnManager :: IsOwnable ( const storage :: TileGroupHeader * const tile_group_header , const oid_t & tuple_id ) { auto tuple_txn_id = tile_group_header -> GetTransactionId ( tuple_id ) ; auto tuple_end_cid = tile_group_header -> GetEndCommitId ( tuple_id ) ; return tuple_txn_id == INITIAL_TXN_ID && tuple_end_cid == MAX_CID ; }
if the tuple is not owned by any transaction and is visible to current
transaction.
if the tuple is not owned by any transaction and is visible to current transaction .