lxy-9602 opened a new pull request, #58: URL: https://github.com/apache/paimon-cpp/pull/58
<!-- Please specify the module before the PR name: feat: ... or fix: ... --> ### Purpose <!-- Linking this pull request to the issue --> No Linked issue. Migrate record reader interface, implementations, and IO utility modules: Record readers (`src/paimon/core/io/`): - `KeyValueRecordReader` — abstract record reader interface (`key_value_record_reader.h`) - `KeyValueDataFileRecordReader` — data file backed key-value reader (`key_value_data_file_record_reader.h/cpp`) - `KeyValueInMemoryRecordReader` — in-memory key-value reader (`key_value_in_memory_record_reader.h/cpp`) - `ConcatKeyValueRecordReader` — concatenating multiple readers sequentially (`concat_key_value_record_reader.h`) - `MergedKeyValueRecordReader` — merge-sorted reader over multiple inputs (`merged_key_value_record_reader.h/cpp`) IO utilities (`src/paimon/core/io/`): - `FileIndexEvaluator` — file index predicate evaluation for data file pruning (`file_index_evaluator.h/cpp`) - `CompleteRowTrackingFieldsReader` — completes row tracking fields during read (`complete_row_tracking_fields_reader.h/cpp`) - `MetaToArrowArrayConverter` — converts file metadata to Arrow arrays (`meta_to_arrow_array_converter.h/cpp`) <!-- What is the purpose of the change --> ### Tests - `key_value_data_file_record_reader_test.cpp` — data file reader round-trip, schema projection - `key_value_in_memory_record_reader_test.cpp` — in-memory reader iteration, key-value ordering - `concat_key_value_record_reader_test.cpp` — concatenation across multiple readers - `merged_key_value_record_reader_test.cpp` — merge-sort correctness - `file_index_evaluator_test.cpp` — predicate evaluation against file indexes - `complete_row_tracking_fields_reader_test.cpp` — row tracking field completion <!-- List UT and IT cases to verify this change --> ### API and Format <!-- Does this change affect API in include dir or storage format or protocol --> ### Documentation <!-- Does this change introduce a new feature --> ### Generative AI tooling Migrate-by: Aone Copilot (Claude) <!-- If generative AI tooling has been used in the process of authoring this patch, please include the phrase: 'Generated-by: ' followed by the name of the tool and its version. If no, write 'No'. Please refer to the [ASF Generative Tooling Guidance](https://www.apache.org/legal/generative-tooling.html) for details. --> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
