| 1286 | } |
| 1287 | |
| 1288 | Status FileReaderImpl::GetColumn(int i, FileColumnIteratorFactory iterator_factory, |
| 1289 | std::unique_ptr<ColumnReader>* out) { |
| 1290 | RETURN_NOT_OK(BoundsCheckColumn(i)); |
| 1291 | auto ctx = std::make_shared<ReaderContext>(); |
| 1292 | ctx->reader = reader_.get(); |
| 1293 | ctx->pool = pool_; |
| 1294 | ctx->iterator_factory = iterator_factory; |
| 1295 | ctx->filter_leaves = false; |
| 1296 | ctx->reader_properties = &reader_properties_; |
| 1297 | std::unique_ptr<ColumnReaderImpl> result; |
| 1298 | RETURN_NOT_OK(GetReader(manifest_.schema_fields[i], ctx, &result)); |
| 1299 | *out = std::move(result); |
| 1300 | return Status::OK(); |
| 1301 | } |
| 1302 | |
| 1303 | Result<std::shared_ptr<Table>> FileReaderImpl::ReadRowGroups( |
| 1304 | const std::vector<int>& row_groups, const std::vector<int>& column_indices) { |