| 1437 | } |
| 1438 | |
| 1439 | Status InputFinished(ExecNode* input, int total_batches) override { |
| 1440 | { |
| 1441 | std::lock_guard<std::mutex> guard(gate_); |
| 1442 | ARROW_DCHECK(std_has(inputs_, input)); |
| 1443 | size_t k = std_find(inputs_, input) - inputs_.begin(); |
| 1444 | state_.at(k)->set_total_batches(total_batches); |
| 1445 | } |
| 1446 | // Trigger a process call |
| 1447 | // The reason for this is that there are cases at the end of a table where we don't |
| 1448 | // know whether the RHS of the join is up-to-date until we know that the table is |
| 1449 | // finished. |
| 1450 | PushProcess(true); |
| 1451 | |
| 1452 | return Status::OK(); |
| 1453 | } |
| 1454 | void PushProcess(bool value) { |
| 1455 | #ifdef ARROW_ENABLE_THREADING |
| 1456 | process_.Push(value); |
no test coverage detected