agavra opened a new pull request, #9560:
URL: https://github.com/apache/pinot/pull/9560

   This PR improves the traversal code around StageNode. It sets up a common 
pattern for visiting nodes, collecting information, rewriting and making other 
changes. This PR is setup for one that will help us implement a global sort 
stage for LIMIT/OFFSET queries and support sort push down.
   
   There are four main parts to look at:
   1. I added the `StageNodeVisitor` interface and implemented `visit` in all 
of the Stage Node implementations
   2. I refactored the `partitionKey` optimization (that removes a shuffle if 
not necessary) into a Visitor (`ShuffleRewriter`)
   3. I refactored constructing the `QueryPlan` metadata into a visitor (this 
is in preparation for the next PR) (`QueryPlanGenerator`)
   4. I refactored constructing the `Operator` into a visitor 
(`PhyscialPlanBuilder`)
   
   Lastly, I added some quality of life improvements in debug-ability and I 
identified a "bug" in nested loop joins - though I'll fix that one in a future 
PR (see `FIXME` comment)


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