Skip to content

Conversation

@ion-elgreco
Copy link
Contributor

I've added support for view type passthrough some time ago in delta-rs. Arrow-rs finally catched up and FFI support was added for view types as well.

I wanted to add enable view types export in polars during delta writes but delta-kernel-rs unfortunately hasn't the support yet: SchemaMismatchError: Invalid data type for Delta Lake: Utf8View

This adds the view types as part of the conversion

@ion-elgreco ion-elgreco changed the title fix: support view types fix: support arrow view types Nov 24, 2024
@codecov
Copy link

codecov bot commented Nov 24, 2024

Codecov Report

Attention: Patch coverage is 0% with 6 lines in your changes missing coverage. Please review.

Project coverage is 80.55%. Comparing base (db29db0) to head (03ac0df).

Files with missing lines Patch % Lines
kernel/src/engine/arrow_conversion.rs 0.00% 6 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #533      +/-   ##
==========================================
- Coverage   80.58%   80.55%   -0.03%     
==========================================
  Files          63       63              
  Lines       13762    13768       +6     
  Branches    13762    13768       +6     
==========================================
+ Hits        11090    11091       +1     
- Misses       2113     2117       +4     
- Partials      559      560       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.


🚨 Try these New Features:

Copy link
Collaborator

@scovich scovich left a comment

Choose a reason for hiding this comment

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

The change looks good in isolation, but for completeness we should add the corresponding expression eval support to arrow_data.rs -- preferably with at least basic unit testing since we don't seem to have any code in kernel that would exercise it otherwise. We don't want to misuse delta-rs (or its users) as our unit test harness.

@ion-elgreco
Copy link
Contributor Author

The change looks good in isolation, but for completeness we should add the corresponding expression eval support to arrow_data.rs -- preferably with at least basic unit testing since we don't seem to have any code in kernel that would exercise it otherwise. We don't want to misuse delta-rs (or its users) as our unit test harness.

For that I don't really have time since I can only work on it in my weekends when I have spare time :)

Copy link
Member

@zachschuermann zachschuermann left a comment

Choose a reason for hiding this comment

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

lgtm pending follow-up issue!

Copy link
Collaborator

@nicklan nicklan left a comment

Choose a reason for hiding this comment

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

lgtm thanks! I filled #541 to track adding evaluation support for this.

@nicklan nicklan merged commit d24c76b into delta-io:main Nov 26, 2024
18 checks passed
zachschuermann added a commit that referenced this pull request Aug 18, 2025
## What changes are proposed in this pull request?
We landed support for Arrow view types in #533 but didn't make
modifications to `ensure_data_types`, meaning users would hit `Incorrect
datatype. Expected string, got Utf8View`

This adds:
kernel's `BINARY` = `BinaryView`
kernel's `STRING` = `Utf8View`
kernel's `Array` = `ListView`
kernel's `Array` = `LargeListView`
(and ran across a missing `LargeList` equivalence, so added:)
kernel's `Array` = `LargeList`

## How was this change tested?
new UT

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants