| 690 | const std::vector<const Column*>& columns, const Transaction* transaction) const; |
| 691 | |
| 692 | bool NodeGroup::isVisible(const Transaction* transaction, row_idx_t rowIdxInGroup) const { |
| 693 | ChunkedNodeGroup* chunkedGroup = nullptr; |
| 694 | { |
| 695 | const auto lock = chunkedGroups.lock(); |
| 696 | chunkedGroup = findChunkedGroupFromRowIdx(lock, rowIdxInGroup); |
| 697 | } |
| 698 | if (!chunkedGroup) { |
| 699 | return false; |
| 700 | } |
| 701 | const auto rowIdxInChunkedGroup = rowIdxInGroup - chunkedGroup->getStartRowIdx(); |
| 702 | return !chunkedGroup->isDeleted(transaction, rowIdxInChunkedGroup) && |
| 703 | chunkedGroup->isInserted(transaction, rowIdxInChunkedGroup); |
| 704 | } |
| 705 | |
| 706 | bool NodeGroup::isVisibleNoLock(const Transaction* transaction, row_idx_t rowIdxInGroup) const { |
| 707 | const auto* chunkedGroup = findChunkedGroupFromRowIdxNoLock(rowIdxInGroup); |
no test coverage detected