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]