| 869 | } |
| 870 | |
| 871 | Result<FragmentVector> ParquetFileFragment::SplitByRowGroup( |
| 872 | compute::Expression predicate) { |
| 873 | RETURN_NOT_OK(EnsureCompleteMetadata()); |
| 874 | ARROW_ASSIGN_OR_RAISE(auto row_groups, FilterRowGroups(predicate)); |
| 875 | |
| 876 | FragmentVector fragments(row_groups.size()); |
| 877 | int i = 0; |
| 878 | for (int row_group : row_groups) { |
| 879 | ARROW_ASSIGN_OR_RAISE(auto fragment, |
| 880 | parquet_format_.MakeFragment(source_, partition_expression(), |
| 881 | physical_schema_, {row_group})); |
| 882 | |
| 883 | RETURN_NOT_OK(fragment->SetMetadata(metadata_, manifest_, |
| 884 | /*original_metadata=*/original_metadata_)); |
| 885 | fragments[i++] = std::move(fragment); |
| 886 | } |
| 887 | |
| 888 | return fragments; |
| 889 | } |
| 890 | |
| 891 | Result<std::shared_ptr<Fragment>> ParquetFileFragment::Subset( |
| 892 | compute::Expression predicate) { |
nothing calls this directly
no test coverage detected