@@ -67,7 +67,7 @@ struct ReadContext {
6767 std::shared_ptr<::arrow::Schema> arrow_schema_;
6868 // The builder to build the record batch.
6969 std::shared_ptr<::arrow::ArrayBuilder> builder_;
70- // GenericDatum for legacy path (only used if direct decoder is disabled)
70+ // GenericDatum for GenericDatum-based decoding (only used if direct decoder is disabled)
7171 std::unique_ptr<::avro::GenericDatum> datum_;
7272};
7373
@@ -97,13 +97,13 @@ class AvroReader::Impl {
9797 ::avro::ValidSchema file_schema;
9898
9999 if (use_direct_decoder_) {
100- // New path: Create base reader for direct decoder access
100+ // Create base reader for direct decoder access
101101 auto base_reader =
102102 std::make_unique<::avro::DataFileReaderBase>(std::move (input_stream));
103103 file_schema = base_reader->dataSchema ();
104104 base_reader_ = std::move (base_reader);
105105 } else {
106- // Legacy path: Create DataFileReader<GenericDatum>
106+ // Create DataFileReader<GenericDatum> for GenericDatum-based decoding
107107 auto datum_reader = std::make_unique<::avro::DataFileReader<::avro::GenericDatum>>(
108108 std::move (input_stream));
109109 file_schema = datum_reader->dataSchema ();
@@ -165,7 +165,7 @@ class AvroReader::Impl {
165165 }
166166
167167 if (use_direct_decoder_) {
168- // New path: Use direct decoder
168+ // Direct decoder: decode Avro to Arrow without GenericDatum
169169 if (!base_reader_->hasMore ()) {
170170 break ;
171171 }
@@ -175,7 +175,7 @@ class AvroReader::Impl {
175175 DecodeAvroToBuilder (GetReaderSchema ().root (), base_reader_->decoder (),
176176 projection_, *read_schema_, context_->builder_ .get ()));
177177 } else {
178- // Legacy path: Use GenericDatum
178+ // GenericDatum-based decoding: decode via GenericDatum intermediate
179179 if (!datum_reader_->read (*context_->datum_ )) {
180180 break ;
181181 }
@@ -248,7 +248,7 @@ class AvroReader::Impl {
248248 }
249249 context_->builder_ = builder_result.MoveValueUnsafe ();
250250
251- // Initialize GenericDatum for legacy path
251+ // Initialize GenericDatum for GenericDatum-based decoding
252252 if (!use_direct_decoder_) {
253253 context_->datum_ = std::make_unique<::avro::GenericDatum>(GetReaderSchema ());
254254 }
@@ -321,9 +321,9 @@ class AvroReader::Impl {
321321 std::shared_ptr<::iceberg::Schema> read_schema_;
322322 // The projection result to apply to the read schema.
323323 SchemaProjection projection_;
324- // The avro reader base - provides direct access to decoder (new path) .
324+ // The avro reader base - provides direct access to decoder for direct decoding .
325325 std::unique_ptr<::avro::DataFileReaderBase> base_reader_;
326- // The datum reader for GenericDatum-based decoding (legacy path) .
326+ // The datum reader for GenericDatum-based decoding.
327327 std::unique_ptr<::avro::DataFileReader<::avro::GenericDatum>> datum_reader_;
328328 // The context to keep track of the reading progress.
329329 std::unique_ptr<ReadContext> context_;
0 commit comments