| 1237 | } |
| 1238 | |
| 1239 | Status FileReaderImpl::GetColumn(int i, FileColumnIteratorFactory iterator_factory, |
| 1240 | std::unique_ptr<ColumnReader>* out) { |
| 1241 | RETURN_NOT_OK(BoundsCheckColumn(i)); |
| 1242 | auto ctx = std::make_shared<ReaderContext>(); |
| 1243 | ctx->reader = reader_.get(); |
| 1244 | ctx->pool = pool_; |
| 1245 | ctx->iterator_factory = iterator_factory; |
| 1246 | ctx->filter_leaves = false; |
| 1247 | ctx->reader_properties = &reader_properties_; |
| 1248 | std::unique_ptr<ColumnReaderImpl> result; |
| 1249 | RETURN_NOT_OK(GetReader(manifest_.schema_fields[i], ctx, &result)); |
| 1250 | *out = std::move(result); |
| 1251 | return Status::OK(); |
| 1252 | } |
| 1253 | |
| 1254 | Result<std::shared_ptr<Table>> FileReaderImpl::ReadRowGroups( |
| 1255 | const std::vector<int>& row_groups, const std::vector<int>& column_indices) { |