Skip to content

Conversation

@JonatanMartens
Copy link

Description

This pr adds the ability to read tables with the column mapping feature enabled.

Related Issue(s)

Partially implements #930, but lacks the ability to write to tables with column mapping.

Documentation

@github-actions github-actions bot added binding/python Issues for the Python package binding/rust Issues for the Rust crate labels Nov 27, 2025
@github-actions
Copy link

ACTION NEEDED

delta-rs 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.

@JonatanMartens JonatanMartens changed the title Add column mapping support when reading tables feat: add column mapping support when reading tables Nov 27, 2025

if (
table_protocol.reader_features
and "columnMapping" in table_protocol.reader_features
):
raise DeltaProtocolError(
"The table requires reader feature 'columnMapping' "
"but this is not supported using pyarrow Datasets."
)

if (
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why is this removed? The pr itself doesn't provide support for reading column mapping with pyarrow

Copy link
Author

Choose a reason for hiding this comment

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

My primary use case is loading delta tables with datafusion (in python not rust), so must have missed it.
Will look into adding support for reading with pyarrow

Copy link
Author

Choose a reason for hiding this comment

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

I have opened a pr to arrow apache/arrow#48289, once that is merged we can support column mapping in datasets.

@codecov
Copy link

codecov bot commented Dec 8, 2025

Codecov Report

❌ Patch coverage is 0.85470% with 116 lines in your changes missing coverage. Please review.
✅ Project coverage is 26.13%. Comparing base (948396f) to head (4a53ecc).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
crates/core/src/delta_datafusion/schema_adapter.rs 0.00% 89 Missing ⚠️
crates/core/src/delta_datafusion/table_provider.rs 0.00% 27 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3954      +/-   ##
==========================================
- Coverage   26.24%   26.13%   -0.12%     
==========================================
  Files         124      124              
  Lines       19824    19914      +90     
  Branches    19824    19914      +90     
==========================================
+ Hits         5203     5204       +1     
- Misses      14251    14340      +89     
  Partials      370      370              

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@ion-elgreco ion-elgreco marked this pull request as draft December 11, 2025 10:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

binding/python Issues for the Python package binding/rust Issues for the Rust crate

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants