Skip to content

fix(index): support nested field lifecycle#219

Merged
Xuanwo merged 1 commit into
mainfrom
xuanwo/oss-942-nested-index-lifecycle
Jun 10, 2026
Merged

fix(index): support nested field lifecycle#219
Xuanwo merged 1 commit into
mainfrom
xuanwo/oss-942-nested-index-lifecycle

Conversation

@Xuanwo

@Xuanwo Xuanwo commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

This PR adds nested field path support across the Lance index lifecycle in DuckDB. It canonicalizes index targets through Lance schema field paths, preserves case-insensitive field resolution, handles escaped literal path segments, and keeps SHOW INDEXES / scanner index selection aligned on canonical nested paths.

The change fixes cases where nested fields with the same leaf name, literal dots, or qualified table references could not be indexed or displayed consistently. It also invalidates the attached-table dataset cache after native CREATE INDEX so follow-up scans can observe the new index metadata.

Validation

  • uv run make format
  • cargo fmt --manifest-path Cargo.toml --check
  • cargo check --manifest-path Cargo.toml
  • cargo test --manifest-path Cargo.toml ffi::index::tests
  • GEN=ninja make debug
  • ./build/debug/test/unittest test/sql/index_ddl.test
  • ./build/debug/test/unittest test/sql/scan_index_aware_scanner.test

@Xuanwo Xuanwo marked this pull request as ready for review June 10, 2026 15:33
@Xuanwo Xuanwo merged commit cd592bc into main Jun 10, 2026
10 checks passed
@Xuanwo Xuanwo deleted the xuanwo/oss-942-nested-index-lifecycle branch June 10, 2026 15:35
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.

1 participant