MCPcopy Create free account
hub / github.com/apache/arrow / StartScanHashTable

Method StartScanHashTable

cpp/src/arrow/acero/swiss_join.cc:2733–2750  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2731 }
2732
2733 Status StartScanHashTable(int64_t thread_id) {
2734 if (IsCancelled()) {
2735 return status();
2736 }
2737
2738 bool need_to_scan =
2739 (join_type_ == JoinType::RIGHT_SEMI || join_type_ == JoinType::RIGHT_ANTI ||
2740 join_type_ == JoinType::RIGHT_OUTER || join_type_ == JoinType::FULL_OUTER);
2741
2742 if (need_to_scan) {
2743 hash_table_.MergeHasMatch();
2744 int64_t num_tasks = bit_util::CeilDiv(hash_table_.num_rows(), kNumRowsPerScanTask);
2745
2746 return CancelIfNotOK(start_task_group_callback_(task_group_scan_, num_tasks));
2747 } else {
2748 return CancelIfNotOK(OnScanHashTableFinished());
2749 }
2750 }
2751
2752 Status ScanTask(size_t thread_id, int64_t task_id) {
2753 if (IsCancelled()) {

Callers

nothing calls this directly

Calls 5

IsCancelledFunction · 0.85
statusFunction · 0.85
CeilDivFunction · 0.85
MergeHasMatchMethod · 0.45
num_rowsMethod · 0.45

Tested by

no test coverage detected