drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aman Sinha" <asi...@maprtech.com>
Subject Review Request 28207: DRILL-1707: add drill's version of PushFilterPastProject rule to control when a filter can be pushed down
Date Wed, 19 Nov 2014 02:46:46 GMT

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28207/
-----------------------------------------------------------

Review request for drill and Hanifi Gunes.


Repository: drill-git


Description
-------

DRILL-1707 is caused by a looping in the planner between PushProjectPastFilter and PushFilterPastProject
rules.  This started happening after the DrillPushProjectPastJoin rule was added because with
that rule we are pushing more expressions and that further triggers the other 2 rules. 
In this fix, we don't push Filter past Project if the Project is producing ITEM expression
(this is done as part of a new rule). Currently, the fix does not check if the Filter conditions
are referencing the ITEM expression and does not split the filter condition into components
that can be pushed. That is marked as a TODO.  

As part of this patch, I enabled a few tests in TestProjectPushDown and TestExampleQueries
that were marked Ignored earlier due to the looping issue. 


Diffs
-----

  exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillPushFilterPastProjectRule.java
PRE-CREATION 
  exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillRuleSets.java f4481cb

  exec/java-exec/src/test/java/org/apache/drill/TestExampleQueries.java bb411e7 
  exec/java-exec/src/test/java/org/apache/drill/TestProjectPushDown.java 6e998a3 

Diff: https://reviews.apache.org/r/28207/diff/


Testing
-------

unit tests in TestProjectPushDown, TestExampleQueries and the failing mondrian query in DRILL-1707


Thanks,

Aman Sinha


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message