Skip to content

Move DatasetIndexExt out of lance-index #6221

@Xuanwo

Description

@Xuanwo

Summary

DatasetIndexExt currently lives in lance-index, which forces IndexSegment to live there too even though it is not really part of the index implementation layer.

In #6209, this showed up as an awkward layering issue:

  • IndexSegment is only used as an API type for dataset-level index commit flows
  • lance-index does not otherwise consume it internally
  • the main reason it lives in lance-index today is that DatasetIndexExt is also defined there

Problem

This blurs the boundary between:

  • index implementation concerns (lance-index)
  • dataset-facing API concerns (lance)

As a result, types that conceptually belong to dataset index management end up living in the lower-level crate only because the trait is there.

Follow-up

We should move DatasetIndexExt into lance (or otherwise restructure the trait boundary), and then move IndexSegment with it so the API surface lives in the more natural layer.

This should be handled as follow-up work instead of extending the scope of #6209.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions