Skip to content

Conversation

@brancz
Copy link
Contributor

@brancz brancz commented Jan 14, 2026

Which issue does this PR close?

Closes #9174

What changes are included in this PR?

Implementation and tests. It's mostly copied from List.

Are these changes tested?

Yes, see unit tests.

Are there any user-facing changes?

No, purely additive.

@alamb @Jefffrey

@github-actions github-actions bot added the arrow Changes to the arrow crate label Jan 14, 2026
Copy link
Contributor

@friendlymatthew friendlymatthew left a comment

Choose a reason for hiding this comment

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

Hi, do you mind rebasing? I think CI is failing because this needs to be rebased on the latest master- the base branch is missing the encoded_len fn that was added recently

Otherwise, the implementation makes sense to me

@brancz brancz force-pushed the row-list-view branch 2 times, most recently from cd2a465 to 29f13ef Compare January 15, 2026 09:13
@brancz
Copy link
Contributor Author

brancz commented Jan 15, 2026

Very confused because both this PR and #9175 are based off of latest main, and the tip of the other PR seems to work fine.

@brancz
Copy link
Contributor Author

brancz commented Jan 16, 2026

Figured it out, I did actually need to change something after the rebase here, also refactored the use in both list-types.

list_size += 1;
}
}
O::from_usize(child_count).expect("overflow");
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this to force a panic?

.collect();

let child = unsafe { converter.convert_raw(&mut child_rows, validate_utf8) }?;
assert_eq!(child.len(), 1);
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we return an error here since the function returns a result anyway?


/// Computes the minimum offset and maximum end (offset + size) for a ListView array.
/// Returns (min_offset, max_end) which can be used to slice the values array.
fn compute_list_view_bounds<O: OffsetSizeTrait>(array: &GenericListViewArray<O>) -> (usize, usize) {
Copy link
Contributor

Choose a reason for hiding this comment

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

This function seems oddly placed; should be lower down instead of in the middle of the mod declarations?

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

Labels

arrow Changes to the arrow crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support formatting ListView

3 participants