You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by amansinha100 <gi...@git.apache.org> on 2018/02/03 00:06:36 UTC

[GitHub] drill pull request #1096: DRILL-6099 : Push limit past flatten(project) with...

Github user amansinha100 commented on a diff in the pull request:

    https://github.com/apache/drill/pull/1096#discussion_r165788152
  
    --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillPushLimitToScanRule.java ---
    @@ -55,18 +62,21 @@ public void onMatch(RelOptRuleCall call) {
         }
       };
     
    -  public static DrillPushLimitToScanRule LIMIT_ON_PROJECT =
    -      new DrillPushLimitToScanRule(
    -          RelOptHelper.some(DrillLimitRel.class, RelOptHelper.some(
    -              DrillProjectRel.class, RelOptHelper.any(DrillScanRel.class))),
    -          "DrillPushLimitToScanRule_LimitOnProject") {
    +  public static DrillPushLimitToScanRule LIMIT_ON_PROJECT = new DrillPushLimitToScanRule(
    --- End diff --
    
    I am not sure why this rule is being overloaded for doing limit push past project.  This particular rule is about doing limit pushdown into scan for cases where we have LIMIT-SCAN or LIMIT-PROJECT-SCAN.  I think we should keep this rule as-is but create a separate rule that does a limit push past project.  Was there a strong reason to do it this way ?  Could there be a side effect of removing the check for the Scan ? 


---