JunRuiLee opened a new pull request, #487: URL: https://github.com/apache/paimon-rust/pull/487
## Purpose The Rust side can **build** lumina and vindex (`ivf-*`) global indexes but cannot **drop** them — `drop_global_index` (procedure + builder) was restricted to the sorted types `btree`/`bitmap`. This closes that gap, matching the generic drop already supported by Java (`DropGlobalIndexProcedure`, no type allowlist) and pypaimon. ## Changes - **New shared helper** `normalize_global_index_type_for_drop` (in `global_index_types.rs`, re-exported from `paimon::table`): canonicalizes any supported global index type case-insensitively. Both lumina aliases (`lumina`, legacy `lumina-vector-ann`) canonicalize to `lumina`; each vindex type keeps its own identity (`ivf-flat` ≠ `ivf-pq`). One shared `SUPPORTED_GLOBAL_INDEX_TYPES_FOR_DROP` constant keeps the builder and procedure error messages in sync. - **Generalized the drop builder** `BTreeGlobalIndexDropBuilder` → `GlobalIndexDropBuilder` (accessor `Table::new_global_index_drop_builder`). Matching now normalizes **both** the request and each stored entry's type, so a `lumina` request matches a stored legacy `lumina-vector-ann` entry and case variants, while a specific vindex type never matches a different one on the same column. Drop stays **metadata-only** (marks index-manifest entries `FileKind::Delete`); physical files are left to orphan/expire, unchanged from btree/bitmap. - **DataFusion procedure** `sys.drop_global_index` now accepts `btree`/`bitmap`/`lumina`/vindex types via the shared helper. ## Out of scope `dry_run` and `partitions` remain `NotImplemented` (as they already were for btree/bitmap). ## Tests - Helper unit tests: case-insensitivity, lumina alias canonicalization, vindex identity, unsupported → None. - Builder tests: `lumina` drops a stored legacy `lumina-vector-ann` entry; uppercase `IVF-FLAT` drops only `ivf-flat` (leaving `ivf-pq`/`lumina`/`btree`); unsupported-type error; existing btree/bitmap coverage retained. - Procedure tests: `drop_global_index` accepts `lumina` and `ivf-pq`. -- 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]
