YjyJeff opened a new issue, #4029:
URL: https://github.com/apache/arrow-datafusion/issues/4029

   **Is your feature request related to a problem or challenge? Please describe 
what you are trying to do.**
   
   Hi, I want to serialize/deserialize the physical plan into protobuf such 
that the PhysicalPlan can be transmitted between different computers. Firstly, 
I took a look at the [ballista](https://github.com/apache/arrow-ballista) and 
find that most of the physical plan/expressions are supported, great! Then I 
want to add more features above it, like encoding `WindowAggExec` into 
protobuf. The problem is that I can not get the `expr` field in 
`BuiltInWindowExpr` and `aggregate` field in `AggregateWindowExpr`, then I can 
not encode/serialize these functions.....
   
   **Describe the solution you'd like**
   
   Add public methods to these fields such that users can access them. The 
following methods are needed, currently:
   ```rust
   impl BuiltInWindowExpr{
       fn expr(&self) -> &dyn BuiltInWindowFunctionExpr{
           &*self.expr
       }
   }
   
   impl AggregateWindowExpr{
       fn aggregate(&self) -> &dyn AggregateExpr{
           &*self.aggregate
       }
   }
   
   impl AggregateFunctionExpr{
       fn fun(&self) -> &AggregateUDF{
           &self.fun
       }
   }
   ```
   
   The request is pretty simple, I would like to add these methods if you are 
agreed. What's more, I would appreciate the advice that can do the same work 
without adding these methods.
   
   Thanks in advance, sincerely
   


-- 
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]

Reply via email to