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

Function MakeAugmentedProjectNode

cpp/src/arrow/dataset/scanner.cc:1095–1116  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1093}
1094
1095Result<acero::ExecNode*> MakeAugmentedProjectNode(acero::ExecPlan* plan,
1096 std::vector<acero::ExecNode*> inputs,
1097 const acero::ExecNodeOptions& options) {
1098 const auto& project_options = checked_cast<const acero::ProjectNodeOptions&>(options);
1099 auto exprs = project_options.expressions;
1100 auto names = project_options.names;
1101
1102 if (names.size() == 0) {
1103 names.resize(exprs.size());
1104 for (size_t i = 0; i < exprs.size(); ++i) {
1105 names[i] = exprs[i].ToString();
1106 }
1107 }
1108
1109 for (const auto& aug_field : kAugmentedFields) {
1110 exprs.push_back(compute::field_ref(aug_field->name()));
1111 names.push_back(aug_field->name());
1112 }
1113 return acero::MakeExecNode(
1114 "project", plan, std::move(inputs),
1115 acero::ProjectNodeOptions{std::move(exprs), std::move(names)});
1116}
1117
1118Result<acero::ExecNode*> MakeOrderedSinkNode(acero::ExecPlan* plan,
1119 std::vector<acero::ExecNode*> inputs,

Callers

nothing calls this directly

Calls 7

field_refFunction · 0.85
MakeExecNodeFunction · 0.85
resizeMethod · 0.80
push_backMethod · 0.80
sizeMethod · 0.45
ToStringMethod · 0.45
nameMethod · 0.45

Tested by

no test coverage detected