@@ -75,10 +75,7 @@ struct ReadContext {
7575 DecodeContext decode_context_;
7676};
7777
78- // TODO(gang.wu): there are a lot to do to make this reader work.
79- // 1. prune the reader schema based on the projection
80- // 2. read key-value metadata from the avro file
81- // 3. collect basic reader metrics
78+ // TODO(gang.wu): collect basic reader metrics
8279class AvroReader ::Impl {
8380 public:
8481 Status Open (const ReaderOptions& options) {
@@ -217,7 +214,7 @@ class AvroReader::Impl {
217214 return Invalid (" Reader is not opened" );
218215 }
219216
220- const ::avro::Metadata metadata = GetReaderMetadata ();
217+ const auto & metadata = GetReaderMetadata ();
221218 std::unordered_map<std::string, std::string> metadata_map;
222219 metadata_map.reserve (metadata.size ());
223220
@@ -280,19 +277,18 @@ class AvroReader::Impl {
280277 return arrow_array;
281278 }
282279
283- // Helper: Check if past sync point
284280 bool IsPastSync () const {
285- if (!split_end_) return false ;
281+ if (!split_end_) {
282+ return false ;
283+ }
286284 return use_direct_decoder_ ? base_reader_->pastSync (split_end_.value ())
287285 : datum_reader_->pastSync (split_end_.value ());
288286 }
289287
290- // Helper: Get metadata from appropriate reader
291- ::avro::Metadata GetReaderMetadata () const {
288+ const ::avro::Metadata& GetReaderMetadata () const {
292289 return use_direct_decoder_ ? base_reader_->metadata () : datum_reader_->metadata ();
293290 }
294291
295- // Helper: Close the appropriate reader
296292 void CloseReader () {
297293 if (use_direct_decoder_) {
298294 if (base_reader_) {
@@ -307,7 +303,6 @@ class AvroReader::Impl {
307303 }
308304 }
309305
310- // Helper: Get reader schema
311306 const ::avro::ValidSchema& GetReaderSchema () const {
312307 return use_direct_decoder_ ? base_reader_->readerSchema ()
313308 : datum_reader_->readerSchema ();
0 commit comments