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

Method InputReceived

cpp/src/arrow/acero/asof_join_node.cc:1414–1437  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1412 const Ordering& ordering() const override { return ordering_; }
1413
1414 Status InputReceived(ExecNode* input, ExecBatch batch) override {
1415 // InputReceived may be called after execution was finished. Pushing it to the
1416 // InputState is unnecessary since we're done (and anyway may cause the
1417 // BackPressureController to pause the input, causing a deadlock), so drop it.
1418 if (::arrow::compute::kUnsequencedIndex == batch.index)
1419 return Status::Invalid("AsofJoin requires sequenced input");
1420
1421 if (process_task_.is_finished()) {
1422 DEBUG_SYNC(this, "Input received while done. Short circuiting.",
1423 DEBUG_MANIP(std::endl));
1424 return Status::OK();
1425 }
1426
1427 // Get the input
1428 ARROW_DCHECK(std_has(inputs_, input));
1429 size_t k = std_find(inputs_, input) - inputs_.begin();
1430
1431 // Put into the sequencing queue
1432 ARROW_RETURN_NOT_OK(state_.at(k)->InsertBatch(std::move(batch)));
1433
1434 PushProcess(true);
1435
1436 return Status::OK();
1437 }
1438
1439 Status InputFinished(ExecNode* input, int total_batches) override {
1440 {

Callers 2

ProcessMethod · 0.45
ProcessNonThreadedMethod · 0.45

Calls 7

std_hasFunction · 0.70
std_findFunction · 0.70
InvalidFunction · 0.50
OKFunction · 0.50
is_finishedMethod · 0.45
beginMethod · 0.45
InsertBatchMethod · 0.45

Tested by

no test coverage detected