Repository navigation
[branch-56] feat: Add expr_adapter_factory getter and with_expr_adapter_factory setter on ListingTable (backport #27317) - #27369
Merged
Conversation
…etter on ListingTable (apache#27317) Closes apache#27314. In `ListingTable`, swapping or wrapping the `PhysicalExprAdapterFactory` of an existing table currently requires manually unpacking individual fields to construct a `ListingTableConfig` and calling `ListingTable::try_new(config)`. This is verbose, discards runtime table state (such as file statistics cache, table definitions, constraints, and column defaults), and redundantly re-evaluates schemas and fingerprints. While `ListingTableConfig` provides `with_expr_adapter_factory`, `ListingTable` was missing the matching getter and setter after `SchemaAdapterFactory` was replaced by `PhysicalExprAdapterFactory`. 1. Added `pub fn expr_adapter_factory(&self) -> Option<&Arc<dyn PhysicalExprAdapterFactory>>` to `ListingTable`. 2. Added `pub fn with_expr_adapter_factory(mut self, expr_adapter_factory: Arc<dyn PhysicalExprAdapterFactory>) -> Self` to `ListingTable`. 3. Added unit test in `datafusion/catalog-listing/src/table.rs` verifying adapter assignment, retrieval, and replacement on cloned tables without mutating the original table. Yes, tested via `test_with_expr_adapter_factory` in `datafusion-catalog-listing`. Verified clean formatting (`cargo fmt`) and zero clippy warnings. (cherry picked from commit 51960db)
40 of 61 tasks
AdamGS
approved these changes
Nov 12, 2026
Codecov Report✅ All modified and coverable lines are covered by tests.
Flags with carried forward coverage won't be shown. Click here to find out more. @@ Coverage Diff @@
## branch-56 #27369 +/- ##
==========================================
Coverage 83.28% 83.29%
==========================================
Files 1170 1170
Lines 475469 475509 +40
Branches 475469 475509 +40
==========================================
+ Hits 396018 396053 +35
- Misses 55478 55482 +4
- Partials 23973 23974 +1
... and 5 files with indirect coverage changes 🚀 New features to boost your workflow:
|
Contributor
Author
|
Thank you @AdamGS |
alamb
added a commit
that referenced
this pull request
Nov 12, 2026
## Which issue does this PR close? - Part of #24461 ## Rationale for this change Several PRs were backported to `branch-56` after the changelog was generated in #27098, so they are missing from `dev/changelog/56.0.0.md`. ## What changes are included in this PR? Regenerates the changelog with `dev/release/generate-changelog.py 55.0.0 branch-56 56.0.0`. This adds entries for: - #27243 - #27204 - #27331 - #27369 - #27368 - #27098 and updates the commit count and credits. ## What is the testing strategy for this PR? N/A (changelog only) ## Are there any user-facing changes? No Co-authored-by: Claude Fable 5.2 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Which issue does this PR close?
56.0.0(Oct/Nov 2026) #24461branch-56