| 824 | } |
| 825 | |
| 826 | END_PARQUET_CATCH_EXCEPTIONS |
| 827 | // Gather children arrays and def levels |
| 828 | for (auto& child : children_) { |
| 829 | std::shared_ptr<ChunkedArray> field; |
| 830 | RETURN_NOT_OK(child->BuildArray(validity_io.values_read, &field)); |
| 831 | ARROW_ASSIGN_OR_RAISE(std::shared_ptr<ArrayData> array_data, ChunksToSingle(*field)); |
| 832 | children_array_data.push_back(std::move(array_data)); |
| 833 | } |
| 834 | |
| 835 | if (!filtered_field_->nullable() && !has_repeated_child_) { |
| 836 | validity_io.values_read = children_array_data.front()->length; |