asolimando commented on code in PR #4695:
URL: https://github.com/apache/calcite/pull/4695#discussion_r2631593809


##########
core/src/main/java/org/apache/calcite/rel/rules/CalcRelSplitter.java:
##########
@@ -224,8 +228,25 @@ RelNode execute() {
               projectExprOrdinals,
               conditionExprOrdinal,
               outputRowType);
+
+      final List<RelHint> levelHints;

Review Comment:
   First time I look at this class, I understand it's a layered expression 
builder, that's why the notion of level and depth, where expressions are built 
bottom-up.
   
   Can you provide a high-level description here of what the code is doing? It 
seems that you are accumulating all hints for the lower levels, and I guess 
it's because the final expressions is built over the inner expressions, and 
hints at their level, also influence the consuming expression. Is my 
understanding correct?
   
   Would this be covered by existing tests somehow? Given how complex the logic 
is, I think it's very much necessary 



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