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:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to