Skip to content

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

Draft
wjones127 wants to merge 1 commit into
lance-format:mainfrom
wjones127:namespace-index-content
Draft

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

Conversation

@wjones127
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()
  • 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 and is covered by lance-format/lance-namespace#349.

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

Blocked on

Depends on lance-format/lance-namespace#349, which adds these fields to the generated lance-namespace-reqwest-client. The latest published version (0.8.0) lacks them, so the dependency currently points at the PR branch via git. Before merging: swap back to a published version pin once #349 merges and publishes (see the TODO in Cargo.toml).

Closes #7101

🤖 Generated with Claude Code

…eIndices

Previously, the directory namespace's list_table_indices discarded
everything from describe_indices except name/uuid/columns. This populates
the enriched IndexContent fields (index_type, type_url, num_indexed_rows,
size_bytes, num_segments, created_at, index_version, index_details) from
the IndexDescription already in hand, avoiding an N+1 DescribeTableIndexStats
call per index.

dir.rs is the only backend in this repo that constructs IndexContent.

Depends on lance-format/lance-namespace#349, which adds these fields to the
generated reqwest client. Until that publishes, the dependency points at the
PR branch; bump to the published version before merging.

Closes lance-format#7101

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added A-deps Dependency updates A-namespace Namespace impls enhancement New feature or request labels Jun 4, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 4, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

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 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

1 participant