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

Method AddToPlan

cpp/src/arrow/acero/exec_plan.cc:572–591  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

570}
571
572Result<ExecNode*> Declaration::AddToPlan(ExecPlan* plan,
573 ExecFactoryRegistry* registry) const {
574 std::vector<ExecNode*> inputs(this->inputs.size());
575
576 size_t i = 0;
577 for (const Input& input : this->inputs) {
578 if (auto node = std::get_if<ExecNode*>(&input)) {
579 inputs[i++] = *node;
580 continue;
581 }
582 ARROW_ASSIGN_OR_RAISE(inputs[i++],
583 std::get<Declaration>(input).AddToPlan(plan, registry));
584 }
585
586 ARROW_ASSIGN_OR_RAISE(
587 auto node, MakeExecNode(this->factory_name, plan, std::move(inputs), *this->options,
588 registry));
589 node->SetLabel(this->label);
590 return node;
591}
592
593Declaration Declaration::Sequence(std::vector<Declaration> decls) {
594 DCHECK(!decls.empty());

Callers 15

TESTFunction · 0.80
function_test.ccFile · 0.80
EnsureSinkFunction · 0.80
DeclarationToSchemaFunction · 0.80
DeclarationToTableImplFunction · 0.80
DeclarationToStatusImplFunction · 0.80
DeclarationToStringFunction · 0.80

Calls 2

ARROW_ASSIGN_OR_RAISEFunction · 0.70
sizeMethod · 0.45

Tested by 7

TESTFunction · 0.64
TESTFunction · 0.64
RunGroupByFunction · 0.64
DoInvalidPlanTestFunction · 0.64
CheckRunOutputMethod · 0.64
AddTableAndSinkToPlanFunction · 0.64