Remove unstable public methods for DynamicFilterPhysicalExpr after proto migration#23423
Conversation
…proto migration See apache#22418. After migrating `DynamicFilterPhysicalExpr` serialization from relying on leaking public internals, we can now remove these unstable methods because they aren't used outside the package. ``` pub struct Inner { ... } /// Return the filter's original children (before any remapping). /// /// **Warning:** intended only for `datafusion-proto` (de)serialization. /// Not a stable API. pub fn original_children(&self) -> &[Arc<dyn PhysicalExpr>] { &self.children } /// Return the filter's remapped children, if any have been set via /// [`PhysicalExpr::with_new_children`]. /// /// **Warning:** intended only for `datafusion-proto` (de)serialization. /// Not a stable API. pub fn remapped_children(&self) -> Option<&[Arc<dyn PhysicalExpr>]> { self.remapped_children.as_deref() } ```
|
Thank you for opening this pull request! Reviewer note: cargo-semver-checks reported the current version number is not SemVer-compatible with the changes in this pull request (compared against the base branch). Details |
|
Note we still have public methods like this on dynamic filter producers like I don't want to commit to removing those right now. They might come in handy for distributed datafusion since |
|
cc @adriangb |
adriangb
left a comment
There was a problem hiding this comment.
Thanks! Since we did our best to mark these as not stable and they're relatively new I think we can make an exception to the API health policy. If this breaks things for anyone we'll apologize and add them back as deprecated. Seems worth the tradeoff.
+1! TYFR! |
Which issue does this PR close?
DynamicFilterPhysicalExprafter proto migration #23422DynamicFilterPhysicalExprto usetry_to_proto/try_from_proto#22434Rationale for this change
See #22418. After migrating
DynamicFilterPhysicalExprserialization from relying on leaking public internals, we can now remove these unstable methods because they aren't used outside the package.What changes are included in this PR?
See above.
Are these changes tested?
datafusion/physical-expr/src/expressions/dynamic_filtersAre there any user-facing changes?
Unstable public methods and public types for
DynamicFilterPhysicalExprare private now.