Jackie-Jiang commented on pull request #5483:
URL: https://github.com/apache/incubator-pinot/pull/5483#issuecomment-642848504


   > It seems like we are adding some duplicate code (like Predicate, 
FilterInfo). We already have them.
   > 
   > I agree that on server we can move to QueryRequest and build all the 
execution related information once (segment independent). But that can also be 
done while we continue to leverage existing interfaces and POJOs. We already 
have Expression, FilterQueryTree, Predicate etc. Why do we need a new 
implementation?
   
   This PR introduces all the classes needed to replace the `BrokerRequest`. 
The reason for introducing new classes instead of changing the existing ones is 
that we can make incremental changes to replace them layer by layer 
(aggregation, selection, transform, projection, filter, etc.) without touching 
other layers. After deprecating `BrokerRequest` completely, the old classes 
will be removed.
   `TransformExpressionTree` -> `Expression`
   `FilterQueryTree` -> `FilterInfo`
   `Predicate` -> new `Predicate` with compiled expressions


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

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to