adriangb commented on code in PR #21807:
URL: https://github.com/apache/datafusion/pull/21807#discussion_r3168119755


##########
datafusion/physical-expr/src/expressions/dynamic_filters.rs:
##########
@@ -76,21 +77,51 @@ pub struct DynamicFilterPhysicalExpr {
     nullable: Arc<RwLock<Option<bool>>>,
 }
 
-#[derive(Debug)]
-struct Inner {
+/// Atomic internal state of a [`DynamicFilterPhysicalExpr`].
+///
+/// `expression_id` lives here because it identifies the actual filter 
expression `expr`.
+/// Derived `DynamicFilterPhysicalExpr`s (e.g. via 
[`PhysicalExpr::with_new_children`]) are
+/// the same logical filter and must report the same `expression_id`.
+///
+/// **Warning:** exposed publicly solely so that proto (de)serialization in
+/// `datafusion-proto` can read and rebuild this state. Do not treat this type
+/// or its layout as a stable API.
+#[derive(Clone)]
+pub struct Inner {

Review Comment:
   Alas, yes, I hate exposing this. But as far as I can tell there is no way 
around it: https://github.com/apache/datafusion/issues/21835.
   
   There's a huge, ugly PR up at 
https://github.com/apache/datafusion/pull/21949.
   
   Would appreciate any input on the issue or PR if you have time.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to