Skip to content

feat: populate enriched IndexContent fields in dir namespace ListTableIndices#7109

Merged
wjones127 merged 1 commit into
lance-format:mainfrom
wjones127:namespace-index-content
Jun 10, 2026
Merged

feat: populate enriched IndexContent fields in dir namespace ListTableIndices#7109
wjones127 merged 1 commit into
lance-format:mainfrom
wjones127:namespace-index-content

Conversation

@wjones127

@wjones127 wjones127 commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Previously, the directory namespace's list_table_indices discarded everything from describe_indices except name/uuid/columns. This populates the enriched IndexContent fields from the IndexDescription already in hand, avoiding an N+1 DescribeTableIndexStats call per index:

  • index_typeindex_type()
  • type_urltype_url()
  • num_indexed_rowsrows_indexed()
  • num_unindexed_rowscount_rows() - rows_indexed(), matching how describe_table_index_stats computes it
  • size_bytestotal_size_bytes() (stays None for legacy indices without file tracking)
  • num_segmentssegments().len()
  • created_at ← min created_at across segments, RFC3339-formatted (stays None for legacy indices)
  • index_version ← first segment's index_version
  • index_detailsdetails().ok()

dir.rs is the only backend in this repo that constructs IndexContent; the REST adapter lives in lance-namespace.

test_list_table_indices is extended to assert the new fields for both a scalar (BTree) and an IVF_FLAT vector index.

Bumps lance-namespace-reqwest-client to 0.8.4, which also adds a branch field to GetTableTagVersionResponse; get_table_tag_version now reads full TagContents via tags().get() to populate it.

Closes #7101

🤖 Generated with Claude Code

@github-actions github-actions Bot added A-deps Dependency updates A-namespace Namespace impls enhancement New feature or request labels Jun 4, 2026
@codecov

codecov Bot commented Jun 4, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 92.95775% with 5 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
rust/lance-namespace-impls/src/dir.rs 92.95% 5 Missing ⚠️

📢 Thoughts on this report? Let us know!

@wjones127 wjones127 force-pushed the namespace-index-content branch 3 times, most recently from 0f3407c to e9280a2 Compare June 10, 2026 19:18
@github-actions github-actions Bot added the A-python Python bindings label Jun 10, 2026
@wjones127 wjones127 marked this pull request as ready for review June 10, 2026 19:32
…eIndices

Previously the directory namespace's list_table_indices discarded everything
from describe_indices except name/uuid/columns. Populate the enriched
IndexContent fields from the IndexDescription already in hand, avoiding an
N+1 DescribeTableIndexStats call per index:

- index_type, type_url, num_indexed_rows, size_bytes, num_segments,
  created_at, index_version, index_details
- num_unindexed_rows as count_rows() - rows_indexed(), matching how
  describe_table_index_stats computes it

Bumps lance-namespace-reqwest-client to 0.8.4, which also adds a branch
field to GetTableTagVersionResponse; get_table_tag_version now reads full
TagContents via tags().get() to populate it.

Closes lance-format#7101

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@wjones127 wjones127 force-pushed the namespace-index-content branch from e9280a2 to a1856ae Compare June 10, 2026 21:34

@jackye1995 jackye1995 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good to me!

@wjones127 wjones127 merged commit a2ddebc into lance-format:main Jun 10, 2026
31 checks passed
@wjones127 wjones127 deleted the namespace-index-content branch June 10, 2026 23:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-deps Dependency updates A-namespace Namespace impls A-python Python bindings enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: populate enriched IndexContent fields in namespace ListTableIndices implementations

2 participants