lucasfang opened a new pull request, #86:
URL: https://github.com/apache/paimon-cpp/pull/86
### Purpose
Linked issue: No linked issue
This change adds manifest core types, file metadata structures, and
serialization/writing utilities for the Paimon C++ storage layer.
Included changes:
- **File kind and source primitives**:
- Adds `FileKind` enum and helper utilities (`file_kind.h`,
`file_kind.cpp`)
- Adds `FileSource` abstraction for file origin tracking (`file_source.h`,
`file_source.cpp`)
- Adds test coverage for `FileKind` and `FileSource`
- **Manifest entry and file entry types**:
- Adds `ManifestEntry` data structure representing a single manifest
record (`manifest_entry.h`, `manifest_entry.cpp`)
- Adds `FileEntry` type for file-level metadata within manifests
(`file_entry.h`)
- Adds test coverage for `FileEntry`
- **Manifest entry serialization and writing**:
- Adds `ManifestEntrySerializer` for binary serialization/deserialization
of manifest entries (`manifest_entry_serializer.h`,
`manifest_entry_serializer.cpp`)
- Adds `ManifestEntryWriter` for writing manifest entries to output
streams (`manifest_entry_writer.h`, `manifest_entry_writer.cpp`)
- Adds test coverage for `ManifestEntrySerializer` and
`ManifestEntryWriter`
- **Manifest file metadata**:
- Adds `ManifestFileMeta` describing manifest file properties
(`manifest_file_meta.h`, `manifest_file_meta.cpp`)
- Adds `ManifestFileMetaSerializer` for serializing manifest file metadata
(`manifest_file_meta_serializer.h`, `manifest_file_meta_serializer.cpp`)
- Adds test coverage for `ManifestFileMetaSerializer`
### Tests
Test coverage included in this change:
- `FileKindTest`
- `FileSourceTest`
- `FileEntryTest`
- `ManifestEntrySerializerTest`
- `ManifestEntryWriterTest`
- `ManifestFileMetaSerializerTest`
### API and Format
This change adds public API in `src/paimon/core/manifest/` including
`FileKind`, `FileSource`, `ManifestEntry`, `FileEntry`,
`ManifestEntrySerializer`, `ManifestEntryWriter`, `ManifestFileMeta`, and
`ManifestFileMetaSerializer`.
No storage format or protocol changes.
### Documentation
No documentation changes required.
### Generative AI tooling
Migrate-by: Aone Copilot (Qwen-3.7-Max)
--
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]