Skip to content

fix: support Arrow ListView writes#7380

Draft
wirybeaver wants to merge 1 commit into
lance-format:mainfrom
wirybeaver:issue-7069-listview-write
Draft

fix: support Arrow ListView writes#7380
wirybeaver wants to merge 1 commit into
lance-format:mainfrom
wirybeaver:issue-7069-listview-write

Conversation

@wirybeaver

Copy link
Copy Markdown

Summary

  • Normalize Arrow ListView and LargeListView schemas to Lance offset-based List and LargeList types.
  • Downcast top-level list-view columns in the dataset write adapter.
  • Allow dictionary capture to inspect list-view child values before write conversion.
  • Add create and append round-trip coverage for list-view columns.

Related: #7069 task 3.

Test Plan

  • cargo fmt --all
  • git diff --check
  • cargo test -p lance-core test_view_types_stored_as_lance_base_types
  • PROTOC=/home/user/lance/target/debug/build/protobuf-src-0bbb645409253599/out/bin/protoc-27.2.0 cargo test -p lance --features "protoc lance-datafusion/protoc" list_view
  • cargo clippy -p lance-core --tests -- -D warnings
  • PROTOC=/home/user/lance/target/debug/build/protobuf-src-0bbb645409253599/out/bin/protoc-27.2.0 cargo clippy -p lance --features "protoc lance-datafusion/protoc" --tests -- -D warnings
  • PROTOC=/home/user/lance/target/debug/build/protobuf-src-0bbb645409253599/out/bin/protoc-27.2.0 cargo clippy --all --tests --benches -- -D warnings

Summary:

- Normalize Arrow ListView and LargeListView schemas to Lance's offset-based List and LargeList types.

- Downcast top-level list-view columns in the dataset write adapter.

- Allow dictionary capture to inspect list-view child values before write conversion.

- Add create and append round-trip coverage for list-view columns.

Test Plan:

- cargo fmt --all

- git diff --check

- cargo test -p lance-core test_view_types_stored_as_lance_base_types

- PROTOC=/home/user/lance/target/debug/build/protobuf-src-0bbb645409253599/out/bin/protoc-27.2.0 cargo test -p lance --features "protoc lance-datafusion/protoc" list_view

- cargo clippy -p lance-core --tests -- -D warnings

- PROTOC=/home/user/lance/target/debug/build/protobuf-src-0bbb645409253599/out/bin/protoc-27.2.0 cargo clippy -p lance --features "protoc lance-datafusion/protoc" --tests -- -D warnings

- PROTOC=/home/user/lance/target/debug/build/protobuf-src-0bbb645409253599/out/bin/protoc-27.2.0 cargo clippy --all --tests --benches -- -D warnings
@github-actions github-actions Bot added the bug Something isn't working label Jun 19, 2026
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.

1 participant