Skip to content

Commit 96aa666

Browse files
committed
Update arrow_parquet for API changes in parquet-cpp
Change-Id: Iaf527b4d4a932cafe126b3912237983e1818e7e6
1 parent e197b2d commit 96aa666

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

cpp/src/arrow/parquet/reader.cc

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -149,28 +149,34 @@ bool FileReader::Impl::CheckForFlatColumn(const ::parquet::ColumnDescriptor* des
149149
}
150150

151151
Status FileReader::Impl::GetFlatColumn(int i, std::unique_ptr<FlatColumnReader>* out) {
152-
if (!CheckForFlatColumn(reader_->descr()->Column(i))) {
152+
const ::parquet::SchemaDescriptor* schema = reader_->metadata()->schema_descriptor();
153+
154+
if (!CheckForFlatColumn(schema->Column(i))) {
153155
return Status::Invalid("The requested column is not flat");
154156
}
155157
std::unique_ptr<FlatColumnReader::Impl> impl(
156-
new FlatColumnReader::Impl(pool_, reader_->descr()->Column(i), reader_.get(), i));
158+
new FlatColumnReader::Impl(pool_, schema->Column(i), reader_.get(), i));
157159
*out = std::unique_ptr<FlatColumnReader>(new FlatColumnReader(std::move(impl)));
158160
return Status::OK();
159161
}
160162

161163
Status FileReader::Impl::ReadFlatColumn(int i, std::shared_ptr<Array>* out) {
162164
std::unique_ptr<FlatColumnReader> flat_column_reader;
163165
RETURN_NOT_OK(GetFlatColumn(i, &flat_column_reader));
164-
return flat_column_reader->NextBatch(reader_->num_rows(), out);
166+
return flat_column_reader->NextBatch(reader_->metadata()->num_rows(), out);
165167
}
166168

167169
Status FileReader::Impl::ReadFlatTable(std::shared_ptr<Table>* table) {
168-
const std::string& name = reader_->descr()->schema()->name();
170+
auto descr = reader_->metadata()->schema_descriptor();
171+
172+
const std::string& name = descr->schema()->name();
169173
std::shared_ptr<Schema> schema;
170-
RETURN_NOT_OK(FromParquetSchema(reader_->descr(), &schema));
174+
RETURN_NOT_OK(FromParquetSchema(descr, &schema));
175+
176+
int num_columns = reader_->metadata()->num_columns();
171177

172-
std::vector<std::shared_ptr<Column>> columns(reader_->num_columns());
173-
for (int i = 0; i < reader_->num_columns(); i++) {
178+
std::vector<std::shared_ptr<Column>> columns(num_columns);
179+
for (int i = 0; i < num_columns; i++) {
174180
std::shared_ptr<Array> array;
175181
RETURN_NOT_OK(ReadFlatColumn(i, &array));
176182
columns[i] = std::make_shared<Column>(schema->field(i), array);
@@ -375,7 +381,7 @@ Status FlatColumnReader::Impl::NextBatch(int batch_size, std::shared_ptr<Array>*
375381
}
376382

377383
void FlatColumnReader::Impl::NextRowGroup() {
378-
if (next_row_group_ < reader_->num_row_groups()) {
384+
if (next_row_group_ < reader_->metadata()->num_row_groups()) {
379385
column_reader_ = reader_->RowGroup(next_row_group_)->Column(column_index_);
380386
next_row_group_++;
381387
} else {

0 commit comments

Comments
 (0)