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]

Reply via email to