somandal commented on code in PR #10228:
URL: https://github.com/apache/pinot/pull/10228#discussion_r1099621725
##########
pinot-query-planner/src/test/resources/queries/OrderBy.json:
##########
@@ -0,0 +1,58 @@
+{
+ "order_by_planning_tests": {
Review Comment:
I was trying to see how alias works with WindowFunctions and looks like it
doesn't work! The plan looks no different than if the alias is not present.
Will need to look into this. I will add a few alias tests for the other types
where it does work.
In the `CalcRelSplitter::execute()` there is a block of code which is
overwriting the aliases by setting the rel to the input:
```
// Sometimes a level's program merely projects its inputs. We don't
// want these. They cause an explosion in the search space.
if (rel instanceof LogicalCalc
&& ((LogicalCalc) rel).getProgram().isTrivial()) {
rel = rel.getInput(0);
}
```
There is some code before this which sets `outputRowType` to either null or
the program's `outputRowType` which depends on the level. For level 0,
`outputRowType` is null and the row names show up as $1 and $2. At level 1
`outputRowType` gets set to the actual `outputRowType` with the aliases but the
above code block resets the rel to the previous one from what I could figure
out.
For now is it alright if I add a note that we need to look into this for
window functions?
--
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]