Skip to content

refactor!: rename FMIndexIndexDetails to FMIndexDetails#7397

Open
westonpace wants to merge 3 commits into
lance-format:mainfrom
westonpace:fix-fm-index-index-details
Open

refactor!: rename FMIndexIndexDetails to FMIndexDetails#7397
westonpace wants to merge 3 commits into
lance-format:mainfrom
westonpace:fix-fm-index-index-details

Conversation

@westonpace

Copy link
Copy Markdown
Member

I'm not sure if the original naming was intentional or not. However, it required a special case in get_plugin_name_from_details_name to rename fmindex to fm so I'm guessing it was accidental?

We are trying to convert indexes to be "generic plugins" and this means we cannot have special cases lying around.

An index's short-name is the name of the type URL minus the suffix IndexDetails. So if we want fm then it should be FmIndexDetails (which this PR implements). If we want fmindex then it should be FmIndexIndexDetails (which it had before). If we want both then we should invent some kind of formal alias mechanism where an index plugin can register potential aliases. However, I think it'd be simplest to avoid that.

This change would be a breaking change to any existing FM indexes! That index type has not (AFAIK) been formally released yet so I think this is ok. However, if this misses the 8.0.0 release then we will probably need to find a different way (and possibly forever be locked into carrying around this special case).

…case

The proto message was misnamed with a double "Index", causing
get_plugin_name_from_details_name to need a special case to map
"fmindex" back to "fm". With the corrected name FMIndexDetails,
stripping "IndexDetails" yields "fm" directly like all other plugins.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Important

This PR touches the Lance format specification.

Substantive changes to the format specification — the .proto definitions
and the spec docs under docs/src/format/ — require a PMC vote before merge.
Minor edits such as typo fixes, wording, or formatting are excluded; use your
judgment.

If this is a meaningful format change:

  • Start a vote following the Lance community voting process.
    Format specification modifications need 3 binding +1 votes (excluding the
    proposer), held on GitHub Discussions, with a minimum voting period of 1 week.
  • Once the vote passes, link the completed vote in this PR. It should not be
    merged until the vote is linked.

@github-actions github-actions Bot added A-index Vector index, linalg, tokenizer A-format On-disk format: protos and format spec docs labels Jun 22, 2026
@github-actions

Copy link
Copy Markdown
Contributor

ACTION NEEDED
Lance follows the Conventional Commits specification for release automation.

The PR title and description are used as the merge commit message. Please update your PR title and description to match the specification.

For details on the error please inspect the "PR Title Check" action.

@github-actions github-actions Bot added the bug Something isn't working label Jun 22, 2026
@westonpace westonpace changed the title fix: rename FMIndexIndexDetails to FMIndexDetails fix!: rename FMIndexIndexDetails to FMIndexDetails Jun 22, 2026
@westonpace westonpace changed the title fix!: rename FMIndexIndexDetails to FMIndexDetails refactor!: rename FMIndexIndexDetails to FMIndexDetails Jun 22, 2026
@westonpace

Copy link
Copy Markdown
Member Author

CC @beinan

@westonpace westonpace changed the title refactor!: rename FMIndexIndexDetails to FMIndexDetails refactor!: rename FMIndexIndexDetails to FMIndexDetails Jun 22, 2026
westonpace and others added 2 commits June 22, 2026 15:13
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
After renaming FMIndexIndexDetails to FMIndexDetails in the proto,
segment_has_fmindex_details was still matching the old suffix, causing
merge_existing_index_segments to fail. Also add "FM" to the legacy
type name mapping since type_name_from_uri now strips IndexDetails
from FMIndexDetails to yield "FM" instead of "FMIndex".

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@codecov

codecov Bot commented Jun 22, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 66.66667% with 2 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
rust/lance-index/src/scalar/fmindex.rs 50.00% 1 Missing ⚠️
rust/lance/src/index.rs 50.00% 1 Missing ⚠️

📢 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-format On-disk format: protos and format spec docs A-index Vector index, linalg, tokenizer breaking-change bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant