Skip to content

fix(ffi): preserve TableProvider DML overrides - #23906

Open
Amogh-2404 wants to merge 4 commits into
apache:mainfrom
Amogh-2404:fix/issue-22328-ffi-table-provider-defaults
Open

fix(ffi): preserve TableProvider DML overrides#23906
Amogh-2404 wants to merge 4 commits into
apache:mainfrom
Amogh-2404:fix/issue-22328-ffi-table-provider-defaults

Conversation

@Amogh-2404

@Amogh-2404 Amogh-2404 commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

Part of #22328.

Rationale for this change

ForeignTableProvider inherits the default DML methods, so producer overrides are lost across the FFI boundary and writable tables appear read-only.

What changes are included in this PR?

  • Forward delete_from, update, and truncate through FFI_TableProvider.
  • Preserve ordered filters and assignments across the boundary.
  • Cover forced-foreign and dynamic-library paths, including malformed update payloads.

Are these changes tested?

  • cargo test -p datafusion-ffi --features integration-tests
  • cargo clippy --all-targets --all-features -- -D warnings

Are there any user-facing changes?

The FFI ABI changes. Foreign libraries must rebuild against the new DataFusion version.

@github-actions github-actions Bot added ffi Changes to the ffi crate auto detected api change Auto detected API change labels Jul 26, 2026
@Amogh-2404
Amogh-2404 force-pushed the fix/issue-22328-ffi-table-provider-defaults branch from ca8af01 to 5568899 Compare July 26, 2026 13:41
@github-actions github-actions Bot removed the auto detected api change Auto detected API change label Jul 26, 2026
@codecov-commenter

codecov-commenter commented Jul 26, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 87.13693% with 31 lines in your changes missing coverage. Please review.
✅ Project coverage is 80.65%. Comparing base (88365dd) to head (64923e2).

Files with missing lines Patch % Lines
datafusion/ffi/src/table_provider.rs 87.13% 11 Missing and 20 partials ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##             main   #23906    +/-   ##
========================================
  Coverage   80.65%   80.65%            
========================================
  Files        1093     1093            
  Lines      371619   371837   +218     
  Branches   371619   371837   +218     
========================================
+ Hits       299730   299913   +183     
- Misses      53993    54005    +12     
- Partials    17896    17919    +23     

☔ View full report in Codecov by Harness.
📢 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.

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

Labels

ffi Changes to the ffi crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants