lucasfang opened a new pull request, #81:
URL: https://github.com/apache/paimon-cpp/pull/81

   ### Purpose
   
   Linked issue: No linked issue
   
   This change adds file writer infrastructure and data/compact increment 
models for the IO layer.
   
   Included changes:
   
   - **Increment models**:
     - Adds `DataIncrement` for tracking new/changelog data files per commit
     - Adds `CompactIncrement` for tracking compaction before/after/changelog 
files
     - Adds test coverage for both increment types
   
   - **File writer hierarchy**:
     - Adds `FileWriter<T, R>` base interface for record-oriented file writing
     - Adds `SingleFileWriter<T, R>` template implementing single-file writing 
with format writer, stats extraction, and metric collection
     - Adds `RollingFileWriter<T, R>` template that rolls over to new files 
based on a configurable target file size
     - Adds test coverage for `SingleFileWriter`
   
   - **Concrete file writers**:
     - Adds `DataFileWriter` extending `SingleFileWriter` for writing 
Arrow-based data files with column stats and `DataFileMeta` generation
     - Adds `RollingBlobFileWriter` for writing blob files with rolling support 
and index maintainer integration
     - Adds `KeyValueDataFileWriter` for writing key-value data files with key 
stats, level tracking, and sequence number management
     - Adds test coverage for `RollingBlobFileWriter`
   
   ### Tests
   
   Not run. Local compile, CMake, and gtest environment checks are not part of 
this PR description.
   
   Test coverage included in this change:
   
   - `DataIncrementTest` (`data_increment_test.cpp`)
   - `CompactIncrementTest` (`compact_increment_test.cpp`)
   - `SingleFileWriterTest` (`single_file_writer_test.cpp`)
   - `RollingBlobFileWriterTest` (`rolling_blob_file_writer_test.cpp`)
   
   ### API and Format
   
   No public API, storage format, or protocol changes.
   
   ### Documentation
   
   No documentation changes required.
   
   ### Generative AI tooling
   
   Migrate-by: Aone Copilot (Opus 4.8)
   


-- 
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]

Reply via email to