fix: merge_insert uses full schema path for reordered columns#5541
Merged
wjones127 merged 1 commit intolance-format:mainfrom Dec 19, 2025
Merged
fix: merge_insert uses full schema path for reordered columns#5541wjones127 merged 1 commit intolance-format:mainfrom
wjones127 merged 1 commit intolance-format:mainfrom
Conversation
cbd0f9f to
9da423e
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
jackye1995
reviewed
Dec 18, 2025
| // Allow nullable source fields for non-nullable targets. | ||
| compare_nullability: NullabilityComparison::Ignore, | ||
| // Allow columns to be in a different order; they will be matched by name. | ||
| ignore_field_order: true, |
Contributor
There was a problem hiding this comment.
in what case would we not want this behavior?
Contributor
Author
There was a problem hiding this comment.
It doesn't seem like we assert field order anywhere right now, but it seems like a useful capability. ArrowSchema PartialEq implementation is strict on field order. There are places like in query plans where field order matters.
jackye1995
approved these changes
Dec 18, 2025
When merge_insert received columns in a different order than the dataset schema, it would fall back to the slower partial schema path. This adds `ignore_field_order: true` to the schema comparison so that reordered columns can use the more efficient full schema path. Fixes lance-format#5323 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
9da423e to
2c63415
Compare
wjones127
added a commit
to wjones127/lance
that referenced
this pull request
Dec 19, 2025
…format#5541) ## Summary - When `merge_insert` received columns in a different order than the dataset schema, it fell back to the slower partial schema path - Added `ignore_field_order: true` to the schema comparison so reordered columns can use the efficient full schema path - Added test verifying both the fast path eligibility and data correctness with reordered columns Fixes lance-format#5323 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
wjones127
added a commit
that referenced
this pull request
Dec 19, 2025
## Summary - When `merge_insert` received columns in a different order than the dataset schema, it fell back to the slower partial schema path - Added `ignore_field_order: true` to the schema comparison so reordered columns can use the efficient full schema path - Added test verifying both the fast path eligibility and data correctness with reordered columns Fixes #5323 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
wjones127
added a commit
to wjones127/lance
that referenced
this pull request
Dec 30, 2025
…format#5541) ## Summary - When `merge_insert` received columns in a different order than the dataset schema, it fell back to the slower partial schema path - Added `ignore_field_order: true` to the schema comparison so reordered columns can use the efficient full schema path - Added test verifying both the fast path eligibility and data correctness with reordered columns Fixes lance-format#5323 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
jackye1995
pushed a commit
to jackye1995/lance
that referenced
this pull request
Jan 21, 2026
…format#5541) ## Summary - When `merge_insert` received columns in a different order than the dataset schema, it fell back to the slower partial schema path - Added `ignore_field_order: true` to the schema comparison so reordered columns can use the efficient full schema path - Added test verifying both the fast path eligibility and data correctness with reordered columns Fixes lance-format#5323 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
merge_insertreceived columns in a different order than the dataset schema, it fell back to the slower partial schema pathignore_field_order: trueto the schema comparison so reordered columns can use the efficient full schema pathFixes #5323
🤖 Generated with Claude Code