MCPcopy Create free account
hub / github.com/apache/arrow / RecordReader

Method RecordReader

cpp/src/parquet/file_reader.cc:117–136  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

115}
116
117std::shared_ptr<internal::RecordReader> RowGroupReader::RecordReader(
118 int i, bool read_dictionary) {
119 if (i >= metadata()->num_columns()) {
120 std::stringstream ss;
121 ss << "Trying to read column index " << i << " but row group metadata has only "
122 << metadata()->num_columns() << " columns";
123 throw ParquetException(ss.str());
124 }
125 const ColumnDescriptor* descr = metadata()->schema()->Column(i);
126
127 std::unique_ptr<PageReader> page_reader = contents_->GetColumnPageReader(i);
128
129 internal::LevelInfo level_info = internal::LevelInfo::ComputeLevelInfo(descr);
130
131 auto reader = internal::RecordReader::Make(
132 descr, level_info, contents_->properties()->memory_pool(), read_dictionary,
133 contents_->properties()->read_dense_for_nullable());
134 reader->SetPageReader(std::move(page_reader));
135 return reader;
136}
137
138std::shared_ptr<ColumnReader> RowGroupReader::ColumnWithExposeEncoding(
139 int i, ExposedEncoding encoding_to_expose) {

Callers 2

TESTFunction · 0.80
ReadDataMethod · 0.80

Calls 13

ParquetExceptionFunction · 0.85
strMethod · 0.80
SetPageReaderMethod · 0.80
ComputeLevelInfoFunction · 0.70
MakeFunction · 0.70
metadataFunction · 0.50
num_columnsMethod · 0.45
ColumnMethod · 0.45
schemaMethod · 0.45
GetColumnPageReaderMethod · 0.45
memory_poolMethod · 0.45
propertiesMethod · 0.45

Tested by 2

TESTFunction · 0.64
ReadDataMethod · 0.64