lszskye opened a new pull request, #78: URL: https://github.com/apache/paimon-cpp/pull/78
## feat: add index file metadata and handler infrastructure ### Changes #### `DeletionVectorMeta` - Metadata for deletion vectors associated with data files. Stores data file name, offset, length, and optional cardinality. #### `GlobalIndexMeta` - Metadata for global index entries. Contains row range start/end, index field id, optional extra field ids, and serialized index metadata bytes. #### `IndexFile` - Base class for index file operations backed by a `FileSystem` and `IndexPathFactory`. #### `IndexFileHandler` - Orchestrates index file scanning across partitions and buckets. Uses `IndexManifestFile` to read index manifest entries and clusters results by `(partition, bucket)` key pairs. #### `IndexFileMeta` - Metadata for a single index file containing index type, file name, file size, row count, optional deletion vector ranges (`LinkedHashMap<string, DeletionVectorMeta>`), optional external path, and optional `GlobalIndexMeta`. #### `IndexFileMetaSerializer` - `ObjectSerializer<IndexFileMeta>` for the current (latest) serialization format. Handles `ToRow()`/`FromRow()` conversion including nested DV ranges and global index meta fields. #### `IndexFileMetaV1Deserializer` - Read-only deserializer for index file meta version 1. `ToRow()` is unsupported. #### `IndexFileMetaV2Deserializer` - Read-only deserializer for index file meta version 2. `ToRow()` is unsupported. #### `IndexFileMetaV3Deserializer` - Read-only deserializer for index file meta version 3 . `ToRow()` is unsupported. #### `IndexPathFactory` - Abstract factory interface for generating and resolving index file paths. #### `IndexInDataFileDirPathFactory` - `IndexPathFactory` implementation that stores index files alongside data files in the same directory. Uses a UUID and atomic counter for unique file naming. ### Tests - `DeletionVectorMetaTest` - `IndexFileHandlerTest` - `IndexFileMetaSerializerTest` - `IndexInDataFileDirPathFactoryTest` -- 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]
