Skip to content

feat: Add distributed ZONEMAP index support and query optimization#18

Merged
universalmind303 merged 1 commit into
daft-engine:mainfrom
beinan:feat/distributed-zonemap-index
Jun 4, 2026
Merged

feat: Add distributed ZONEMAP index support and query optimization#18
universalmind303 merged 1 commit into
daft-engine:mainfrom
beinan:feat/distributed-zonemap-index

Conversation

@beinan
Copy link
Copy Markdown
Contributor

@beinan beinan commented Jun 1, 2026

Summary

  • Scan Path Optimization: Expanded _should_use_index_for_point_lookup() in daft_lance/lance_scan.py to recognize and utilize ZONEMAP scalar indices for point lookup optimizations alongside BTREE indices.
  • Unit Tests: Added test suite covering ZONEMAP creation, query, and invalid types validation in tests/io/lancedb/test_lancedb_scalar_index.py.
  • Note on Distributed Creation: Checked Lance capabilities and verified that merge_index_metadata only supports BTREE and INVERTED distributed merges. The pre-existing fallback path safely delegates ZONEMAP to single-threaded index creation at the Lance level.

Test Plan

Ran test suite inside daft-lance:
pytest tests/io/lancedb/test_lancedb_scalar_index.py

🤖 Generated with Claude Code

Enables the ZONEMAP scalar index type to be utilized for optimized point lookup scans
in `daft-lance` and Daft. Added test cases to cover creating, querying, and verifying
ZONEMAP indices.

Co-Authored-By: Beinan Wang <beinanwang@microsoft.com>
@beinan beinan marked this pull request as ready for review June 1, 2026 20:59
@universalmind303 universalmind303 merged commit ca70b3d into daft-engine:main Jun 4, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants