| 44 | {ConvertedType::UTF8, ConvertedType::NONE}}; |
| 45 | |
| 46 | StreamReader::StreamReader(std::unique_ptr<ParquetFileReader> reader) |
| 47 | : file_reader_{std::move(reader)}, eof_{false} { |
| 48 | file_metadata_ = file_reader_->metadata(); |
| 49 | |
| 50 | auto schema = file_metadata_->schema(); |
| 51 | auto group_node = schema->group_node(); |
| 52 | |
| 53 | if (schema->num_columns() == 0) { |
| 54 | throw ParquetException("StreamReader does not support empty schemas."); |
| 55 | } |
| 56 | nodes_.resize(schema->num_columns()); |
| 57 | |
| 58 | for (auto i = 0; i < schema->num_columns(); ++i) { |
| 59 | nodes_[i] = std::static_pointer_cast<schema::PrimitiveNode>(group_node->field(i)); |
| 60 | } |
| 61 | NextRowGroup(); |
| 62 | } |
| 63 | |
| 64 | int StreamReader::num_columns() const { |
| 65 | // Check for file metadata i.e. object is not default constructed. |
nothing calls this directly
no test coverage detected