drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-2852) CASTing the column 'dir0' in view causes partition pruning to fail
Date Tue, 04 Aug 2015 17:03:04 GMT

    [ https://issues.apache.org/jira/browse/DRILL-2852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14653975#comment-14653975
] 

ASF GitHub Bot commented on DRILL-2852:
---------------------------------------

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

    https://github.com/apache/drill/pull/103#discussion_r36213289
  
    --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/partition/FindPartitionConditions.java
---
    @@ -217,8 +218,21 @@ public Void visitCorrelVariable(RexCorrelVariable correlVariable)
{
       }
     
       public Void visitCall(RexCall call) {
    -    // assume PUSH until proven otherwise
    -    analyzeCall(call, PushDirFilter.PUSH);
    +    boolean visited = false;
    +    // examine the input of a CAST function; this could be extended for
    +    // other functions in the future.
    --- End diff --
    
    Looks like DRILL-3560 reported issues for partition pruning, when it involves a general
expression including UDF.  I think it would be fine that we address the general expression
in DRILL-3560. 
    



> CASTing the column 'dir0' in view causes partition pruning to fail 
> -------------------------------------------------------------------
>
>                 Key: DRILL-2852
>                 URL: https://issues.apache.org/jira/browse/DRILL-2852
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Query Planning & Optimization
>    Affects Versions: 0.8.0
>            Reporter: Aman Sinha
>            Assignee: Jinfeng Ni
>             Fix For: 1.2.0
>
>
> If the partition column 'dir0' is CAST inside a view and the query has a filter on that
column, then partition pruning interpreter evaluator encounters an AssertionError. 
> Table data in the example below is from test/resources/multilevel/parquet.  
> {code}
> create view dfs.tmp.myview2 as select cast(dir0 as varchar(100)) as myyear, dir1 as myquarter,
o_totalprice from `multilevel/parquet` ;
> select * from dfs.tmp.myview2 where myyear = '1995' and myquarter = 'Q2' and o_totalprice
< 40000.0;
> {code}
> Failure stack trace: 
> {code}
> Caused by: java.lang.AssertionError: Internal error: Error while applying rule PruneScanRule:Filter_On_Project,
> ...
> <skip>
> Caused by: java.lang.AssertionError: null
>         at org.apache.drill.exec.expr.fn.interpreter.InterpreterEvaluator$EvalVisitor.isBitOn(InterpreterEvaluator.java:490)
~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
>         at org.apache.drill.exec.expr.fn.interpreter.InterpreterEvaluator$EvalVisitor.visitBooleanAnd(InterpreterEvaluator.java:434)
~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
>         at org.apache.drill.exec.expr.fn.interpreter.InterpreterEvaluator$EvalVisitor.visitBooleanOperator(InterpreterEvaluator.java:332)
~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
>         at org.apache.drill.exec.expr.fn.interpreter.InterpreterEvaluator$EvalVisitor.visitBooleanOperator(InterpreterEvaluator.java:147)
~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
>         at org.apache.drill.common.expression.BooleanOperator.accept(BooleanOperator.java:36)
~[drill-common-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
>         at org.apache.drill.exec.expr.fn.interpreter.InterpreterEvaluator.evaluate(InterpreterEvaluator.java:80)
~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
>         at org.apache.drill.exec.planner.logical.partition.PruneScanRule.doOnMatch(PruneScanRule.java:224)
~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message