----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/28207/ -----------------------------------------------------------
(Updated Nov. 24, 2014, 6:59 p.m.) Review request for drill and Hanifi Gunes. Changes ------- Uploaded new diffs that have the following additional changes: 1. Enhanced the DrillPushFilterPastProject rule to traverse the filter expressions to check for referenced ITEM expressions from the underlying Project. 2. Modified couple of unit tests to iterate over all file system data sources (this addresses review comments). All unit, functional and the expected tpch-100 tests are passing. Also re-verified with the failing mondrian query in drill-1707. 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 (updated) ----- 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
