Skip to content

fix: complex all-null list struct decoding#6771

Merged
Xuanwo merged 1 commit into
mainfrom
xuanwo/fix-complex-all-null-list-struct
May 13, 2026
Merged

fix: complex all-null list struct decoding#6771
Xuanwo merged 1 commit into
mainfrom
xuanwo/fix-complex-all-null-list-struct

Conversation

@Xuanwo
Copy link
Copy Markdown
Collaborator

@Xuanwo Xuanwo commented May 13, 2026

Fixes #6768.

The v2.1+ complex all-null decoder was slicing repetition/definition buffers with row ranges, which breaks nested layouts where a top-level row expands into multiple list values. This updates the decoder to map requested rows to level slices before materializing the all-null child, and adds coverage for list<struct<...>> where one struct child is all-null across list values.

@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.

@Xuanwo Xuanwo marked this pull request as ready for review May 13, 2026 18:12
Copy link
Copy Markdown

@claude claude Bot left a comment

Choose a reason for hiding this comment

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

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.

Tip: disable this comment in your organization's Code Review settings.

@Xuanwo
Copy link
Copy Markdown
Collaborator Author

Xuanwo commented May 13, 2026

@claude review once

@Xuanwo Xuanwo changed the title Fix complex all-null list struct decoding fix: complex all-null list struct decoding May 13, 2026
@github-actions github-actions Bot added the bug Something isn't working label May 13, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 13, 2026

Codecov Report

❌ Patch coverage is 80.28169% with 14 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
.../lance-encoding/src/encodings/logical/primitive.rs 80.28% 11 Missing and 3 partials ⚠️

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown
Contributor

@wjones127 wjones127 left a comment

Choose a reason for hiding this comment

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

This all looks reasonable. Thanks for the quick fix!

@Xuanwo Xuanwo merged commit 646c687 into main May 13, 2026
30 of 31 checks passed
@Xuanwo Xuanwo deleted the xuanwo/fix-complex-all-null-list-struct branch May 13, 2026 20:48
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.

v2.1+ encoding: list<struct<…>> decode fails with "Incorrect array length" when a struct child column is all-null across list values

2 participants