| 594 | } |
| 595 | |
| 596 | Result<std::shared_ptr<Partitioning>> Finish( |
| 597 | const std::shared_ptr<Schema>& schema) const override { |
| 598 | for (FieldRef ref : field_names_) { |
| 599 | // ensure all of field_names_ are present in schema |
| 600 | RETURN_NOT_OK(ref.FindOne(*schema).status()); |
| 601 | } |
| 602 | |
| 603 | // drop fields which aren't in field_names_ |
| 604 | auto out_schema = SchemaFromColumnNames(schema, field_names_); |
| 605 | |
| 606 | return std::make_shared<DirectoryPartitioning>(std::move(out_schema), dictionaries_, |
| 607 | options_.AsPartitioningOptions()); |
| 608 | } |
| 609 | |
| 610 | private: |
| 611 | void Reset() override { |
nothing calls this directly
no test coverage detected