Skip to content

fix: keep delete-by-source fast path with scalar indexes#6435

Open
Xuanwo wants to merge 3 commits intomainfrom
xuanwo/fix-merge-insert-delete-by-source-scalar-index
Open

fix: keep delete-by-source fast path with scalar indexes#6435
Xuanwo wants to merge 3 commits intomainfrom
xuanwo/fix-merge-insert-delete-by-source-scalar-index

Conversation

@Xuanwo
Copy link
Copy Markdown
Collaborator

@Xuanwo Xuanwo commented Apr 8, 2026

This teaches merge_insert to keep the delete-by-source fast path even when a scalar index exists on the join key. The actual indexed join path is still only used when unmatched target rows are kept, so the presence of index metadata should not force these operations back to the legacy full-join path.

This also adds regression coverage for full-schema FixedSizeList merges with when_not_matched_by_source(Delete) both with and without a scalar index. That closes the gap behind #6195 and preserves the earlier fix for lancedb/lancedb#3094.

@github-actions github-actions bot added the bug Something isn't working label Apr 8, 2026
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 8, 2026

Codecov Report

❌ Patch coverage is 99.30070% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
rust/lance/src/dataset/write/merge_insert.rs 99.30% 0 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown
Contributor

@BubbleCal BubbleCal left a comment

Choose a reason for hiding this comment

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

Nice work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants