| 926 | } |
| 927 | |
| 928 | Status InputFinished(ExecNode* input, int total_batches) override { |
| 929 | ARROW_DCHECK(std::find(inputs_.begin(), inputs_.end(), input) != inputs_.end()); |
| 930 | size_t thread_index = plan_->query_context()->GetThreadIndex(); |
| 931 | int side = (input == inputs_[0]) ? 0 : 1; |
| 932 | |
| 933 | if (batch_count_[side].SetTotal(total_batches)) { |
| 934 | if (side == 0) { |
| 935 | return OnProbeSideFinished(thread_index); |
| 936 | } else { |
| 937 | return OnBuildSideFinished(thread_index); |
| 938 | } |
| 939 | } |
| 940 | return Status::OK(); |
| 941 | } |
| 942 | |
| 943 | Status Init() override { |
| 944 | QueryContext* ctx = plan_->query_context(); |
no test coverage detected