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]
