feat(index): support distributed ZoneMap index#5214
Open
FANNG1 wants to merge 2 commits into
Open
Conversation
ZoneMap is a min/max skip index supported by lance since early versions. Lance 9.0.0b1 extended create_index_uncommitted to handle ZoneMap segments (lance#7177), enabling the same distributed segment workflow already used for BTREE and BITMAP. Changes: - Add "ZONEMAP" to _SCALAR_SEGMENT_INDEX_TYPES so the segment workflow (create_index_uncommitted → commit_existing_index_segments) is used - Add "ZONEMAP" to supported_distributed_types, removing the ValueError - Extend "BTREE" type-validation case to "BTREE" | "ZONEMAP" (same supported column types: int, float, string) - Add a version guard requiring pylance >= 9.0.0b1 for ZONEMAP - Bump minimum pylance dependency to 9.0.0b10 - Add TestDistributedZoneMapIndexing with three tests covering int/string columns and query-result correctness against a non-indexed baseline Closes lance-format#5213
pyproject.toml already requires pylance>=9.0.0b10, so the runtime version check and test skipif decorator are unnecessary.
ce1026c to
6a6fa8e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #5213
Summary
"ZONEMAP"to_SCALAR_SEGMENT_INDEX_TYPESso the segment workflow (create_index_uncommitted->commit_existing_index_segments) is chosen, matching how BTREE and BITMAP are built"ZONEMAP"tosupported_distributed_types, removing theValueErrorthat previously blocked it"BTREE"column-type validation case to"BTREE" | "ZONEMAP"with the same supported types: int, float, and string8.0.0b11->9.0.0b10TestDistributedZoneMapIndexingwith three tests:test_distributed_zonemap_index_basic— build on int column, verifyindex_type == "ZoneMap"test_zonemap_query_results_match_baseline— range filter results match non-indexed baselinetest_distributed_zonemap_index_string_column— build on string columnVerification