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

    https://github.com/apache/drill/pull/1096#discussion_r165791415
  
    --- 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(
    +      RelOptHelper.some(DrillLimitRel.class, 
RelOptHelper.any(DrillProjectRel.class)), 
"DrillPushLimitToScanRule_LimitOnProject") {
         @Override
         public boolean matches(RelOptRuleCall call) {
           DrillLimitRel limitRel = call.rel(0);
    -      DrillScanRel scanRel = call.rel(2);
    -      // For now only applies to Parquet. And pushdown only apply limit 
but not offset,
    +      DrillProjectRel projectRel = call.rel(1);
    +      // pushdown only apply limit but not offset,
           // so if getFetch() return null no need to run this rule.
    -      if (scanRel.getGroupScan().supportsLimitPushdown() && 
(limitRel.getFetch() != null)) {
    --- End diff --
    
    I can understand that this check was removed because this matches() method 
no longer is checking for DrillScanRel, but does that mean that no one is 
checking the GroupScan for supportsLimitPushdown() ? 


---

Reply via email to