vlsi commented on a change in pull request #1840: [CALCITE-3753] Remove rule
queue importance
URL: https://github.com/apache/calcite/pull/1840#discussion_r388570453
##########
File path: core/src/test/resources/sql/sub-query.iq
##########
@@ -831,7 +831,7 @@ EnumerableCalc(expr#0..3=[{inputs}], expr#4=[NOT($t2)],
expr#5=[IS TRUE($t4)], e
EnumerableLimit(fetch=[1])
EnumerableSort(sort0=[$0], dir0=[DESC])
EnumerableAggregate(group=[{0}], c=[COUNT()])
- EnumerableCalc(expr#0..2=[{inputs}], expr#3=[false], cs=[$t3])
+ EnumerableCalc(expr#0..2=[{inputs}], expr#3=[false], expr#4=[123],
expr#5=[null:INTEGER], expr#6=[=($t4, $t5)], expr#7=[IS NULL($t5)],
expr#8=[OR($t6, $t7)], cs=[$t3], $condition=[$t8])
Review comment:
Let me put it in another way: you change the optimizer, and now it favours
bad plans.
What the optimizer now does it introduces a dummy always_true filter, and it
thinks the filter would reduce the number of rows and so on. It does not look
like a well-behaving optimizer :-/
Even though the change reduces `slow test` execution, that reduction might
be the result of "skipping some rules" rather than removing importance.
So currently it looks like some rules do not fire which result in a
noticeable amount of useless predicates floating around.
----------------------------------------------------------------
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:
[email protected]
With regards,
Apache Git Services