| 620 | } |
| 621 | |
| 622 | int64_t ScanHashTable_num_tasks() { |
| 623 | if (!has_hash_table_ || hash_table_empty_) { |
| 624 | return 0; |
| 625 | } |
| 626 | if (join_type_ != JoinType::RIGHT_SEMI && join_type_ != JoinType::RIGHT_ANTI && |
| 627 | join_type_ != JoinType::RIGHT_OUTER && join_type_ != JoinType::FULL_OUTER) { |
| 628 | return 0; |
| 629 | } |
| 630 | return bit_util::CeilDiv(hash_table_keys_.num_rows(), hash_table_scan_unit_); |
| 631 | } |
| 632 | |
| 633 | Status ScanHashTable_exec_task(size_t thread_index, int64_t task_id) { |
| 634 | if (cancelled_) { |