| 170 | } |
| 171 | |
| 172 | static Result<acero::ExecNode*> Make(acero::ExecPlan* plan, |
| 173 | std::vector<acero::ExecNode*> inputs, |
| 174 | const acero::ExecNodeOptions& options) { |
| 175 | RETURN_NOT_OK(ValidateExecNodeInputs(plan, inputs, 0, "ScanNode")); |
| 176 | const auto& scan_options = checked_cast<const ScanV2Options&>(options); |
| 177 | ARROW_ASSIGN_OR_RAISE( |
| 178 | ScanV2Options normalized_options, |
| 179 | NormalizeAndValidate(scan_options, plan->query_context()->exec_context())); |
| 180 | ARROW_ASSIGN_OR_RAISE(std::shared_ptr<Schema> output_schema, |
| 181 | OutputSchemaFromOptions(normalized_options)); |
| 182 | return plan->EmplaceNode<ScanNode>(plan, std::move(normalized_options), |
| 183 | std::move(output_schema)); |
| 184 | } |
| 185 | |
| 186 | const char* kind_name() const override { return "ScanNode"; } |
| 187 |
nothing calls this directly
no test coverage detected