[ 
https://issues.apache.org/jira/browse/DRILL-4889?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

godfrey he updated DRILL-4889:
------------------------------
    Description: 
When I ran some SQLs on partition table, I got NPE or AssertionError in 
FindPartitionConditions as below:

partition_table is a partition table
partition_column is the partition column
none_partition_column is a normal column, not the partition column

*SQL 1:* select * from partition_table where none_partition_column like 
'%test%'; 
*SQL 2:* select partition_column from partition_table where 
none_partition_column like '%test%'; 
*SQL 3:*  select * from partition_table where case when partition_column = 
'2000' then none_partition_column = 'test' end;
{quote}
Caused by: java.lang.NullPointerException: null
        at 
org.apache.drill.exec.planner.logical.partition.FindPartitionConditions$OpState.access$000(FindPartitionConditions.java:63)
        at 
org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.analyzeCall(FindPartitionConditions.java:315)
        at 
org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:260)
 
        at 
org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:46)
{quote}
 
 
*SQL 4:* select * from partition_table where none_partition_column = 'a' or 
(none_partition_column = 'b' and partition_column = '2000');
{quote}
Caused by: java.lang.AssertionError: null
        at 
org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.popOpStackAndBuildFilter(FindPartitionConditions.java:198)
        at 
org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.analyzeCall(FindPartitionConditions.java:335)
        at 
org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:260)
        at 
org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:46)
{quote}

  was:
When I ran some SQLs on partition table, I got NPE or AssertionError in 
FindPartitionConditions as below:

partition_table is a partition table
partition_column is the partition column
none_partition_column is a normal column, not the partition column

*SQL 1:* select * from partition_table where none_partition_column like 
'%test%'; 
and also
*SQL 2:*  select * from partition_table where case when partition_column = 
'2000' then none_partition_column = 'test' end;
{quote}
Caused by: java.lang.NullPointerException: null
        at 
org.apache.drill.exec.planner.logical.partition.FindPartitionConditions$OpState.access$000(FindPartitionConditions.java:63)
        at 
org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.analyzeCall(FindPartitionConditions.java:315)
        at 
org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:260)
 
        at 
org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:46)
{quote}
 
 
*SQL 3:* select * from partition_table where none_partition_column = 'a' or 
(none_partition_column = 'b' and partition_column = '2000');
{quote}
Caused by: java.lang.AssertionError: null
        at 
org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.popOpStackAndBuildFilter(FindPartitionConditions.java:198)
        at 
org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.analyzeCall(FindPartitionConditions.java:335)
        at 
org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:260)
        at 
org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:46)
{quote}


> throw NPE or AssertionError in FindPartitionConditions when running some SQLs 
> on partition table
> ------------------------------------------------------------------------------------------------
>
>                 Key: DRILL-4889
>                 URL: https://issues.apache.org/jira/browse/DRILL-4889
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Query Planning & Optimization
>    Affects Versions: 1.8.0
>            Reporter: godfrey he
>
> When I ran some SQLs on partition table, I got NPE or AssertionError in 
> FindPartitionConditions as below:
> partition_table is a partition table
> partition_column is the partition column
> none_partition_column is a normal column, not the partition column
> *SQL 1:* select * from partition_table where none_partition_column like 
> '%test%'; 
> *SQL 2:* select partition_column from partition_table where 
> none_partition_column like '%test%'; 
> *SQL 3:*  select * from partition_table where case when partition_column = 
> '2000' then none_partition_column = 'test' end;
> {quote}
> Caused by: java.lang.NullPointerException: null
>       at 
> org.apache.drill.exec.planner.logical.partition.FindPartitionConditions$OpState.access$000(FindPartitionConditions.java:63)
>       at 
> org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.analyzeCall(FindPartitionConditions.java:315)
>       at 
> org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:260)
>  
>       at 
> org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:46)
> {quote}
>  
>  
> *SQL 4:* select * from partition_table where none_partition_column = 'a' or 
> (none_partition_column = 'b' and partition_column = '2000');
> {quote}
> Caused by: java.lang.AssertionError: null
>       at 
> org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.popOpStackAndBuildFilter(FindPartitionConditions.java:198)
>       at 
> org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.analyzeCall(FindPartitionConditions.java:335)
>       at 
> org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:260)
>       at 
> org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:46)
> {quote}



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

Reply via email to