lszskye opened a new pull request, #73: URL: https://github.com/apache/paimon-cpp/pull/73
## feat: add global index implementations and composite readers ### Changes #### `BitmapGlobalIndex` - `GlobalIndexer` implementation for bitmap-based global indexes. Delegates to the existing `BitmapFileIndex` for index construction and wraps `BitmapFileIndexReader` via `FileIndexReaderWrapper` to convert file-level results into `GlobalIndexResult`. #### `BitmapGlobalIndexFactory` - `GlobalIndexerFactory` for creating `BitmapGlobalIndex` instances. Registered with identifier `"bitmap-global"`. #### `BitmapGlobalIndexReader` - `GlobalIndexReader` adapter wrapping a file-level `BitmapFileIndexReader`. Transforms `FileIndexResult` into `GlobalIndexResult` via a configurable transform function. Not thread-safe. #### `RangeBitmapGlobalIndex` - `GlobalIndexer` implementation for range-bitmap global indexes. Delegates to `RangeBitmapFileIndex` for index construction and wraps `RangeBitmapFileIndexReader` for query evaluation. #### `RangeBitmapGlobalIndexFactory` - `GlobalIndexerFactory` for creating `RangeBitmapGlobalIndex` instances. Registered with identifier `"range-bitmap-global"`. #### `RangeBitmapGlobalIndexReader` - `GlobalIndexReader` adapter wrapping a file-level `RangeBitmapFileIndexReader`. Same pattern as `BitmapGlobalIndexReader`. Not thread-safe. #### `OffsetGlobalIndexReader` - `GlobalIndexReader` decorator that wraps another reader and applies a fixed offset to all row ids in the results. Used to convert local row ids into global row ids. Delegates all visitor methods to the inner reader and calls `AddOffset()` on each result. #### `UnionGlobalIndexReader` - `GlobalIndexReader` that combines results from multiple sub-readers by performing a union (OR) operation. When an `Executor` is provided, sub-reader queries are submitted in parallel and results are collected in submission order; otherwise evaluated sequentially. Supports all visitor methods including `VisitVectorSearch` and `VisitFullTextSearch`. ### Tests - `BitmapGlobalIndexTest` - `RangeBitmapGlobalIndexTest` - `OffsetGlobalIndexReaderTest` - `UnionGlobalIndexReaderTest` -- 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]
