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

Jaehwa Jung commented on TAJO-778:
----------------------------------

This issue includes various type of bugs.

> TPC-DS Q34 occurs NPE
> ---------------------
>
>                 Key: TAJO-778
>                 URL: https://issues.apache.org/jira/browse/TAJO-778
>             Project: Tajo
>          Issue Type: Bug
>          Components: planner/optimizer
>    Affects Versions: 0.9
>            Reporter: Jaehwa Jung
>            Assignee: Jaehwa Jung
>             Fix For: 0.9
>
>
> I tested TPC-DS Q34 query as follows:
> * SQL
> {code:xml}
> select c_last_name
>       ,c_first_name
>       ,c_salutation
>       ,c_preferred_cust_flag
>       ,ss_ticket_number
>       ,cnt from
>   (select ss_ticket_number
>          ,ss_customer_sk
>          ,count(*) cnt
>    from store_sales
>    JOIN date_dim ON store_sales.ss_sold_date_sk = date_dim.d_date_sk
>    JOIN store ON store_sales.ss_store_sk = store.s_store_sk  
>    JOIN household_demographics ON store_sales.ss_hdemo_sk = 
> household_demographics.hd_demo_sk
>    where
>        (date_dim.d_dom between 1 and 3 or date_dim.d_dom between 25 and 28)
>    and (household_demographics.hd_buy_potential = '>10000' or
>         household_demographics.hd_buy_potential = 'unknown')
>    and household_demographics.hd_vehicle_count > 0
>    and (case when household_demographics.hd_vehicle_count > 0 
>        then household_demographics.hd_dep_count/ 
> household_demographics.hd_vehicle_count 
>        else null 
>        end)  > 1.2
>    and date_dim.d_year in (1998,1999,2000)
>    and store.s_county in ('Williamson County','Williamson County','Williamson 
> County','Williamson County',
>                           'Williamson County','Williamson County','Williamson 
> County','Williamson County')
>    group by ss_ticket_number,ss_customer_sk) dn
>    JOIN customer ON dn.ss_customer_sk = customer.c_customer_sk
>    WHERE
>      cnt between 15 and 20
>    order by c_last_name,c_first_name,c_salutation,c_preferred_cust_flag desc;
> {code}
> * Expected Result
> It must returns 2,905 rows.
> * Actual Result
> {code:xml}
> java.lang.NullPointerException
>       at org.apache.tajo.catalog.Column.equals(Column.java:115)
>       at java.util.ArrayList.indexOf(ArrayList.java:298)
>       at java.util.ArrayList.contains(ArrayList.java:281)
>       at java.util.AbstractCollection.containsAll(AbstractCollection.java:316)
>       at org.apache.tajo.catalog.Schema.containsAll(Schema.java:269)
>       at 
> org.apache.tajo.engine.planner.LogicalPlanner.checkIfBeEvaluatedAtRelation(LogicalPlanner.java:1556)
>       at 
> org.apache.tajo.engine.planner.rewrite.FilterPushDownRule.visitScan(FilterPushDownRule.java:300)
>       at 
> org.apache.tajo.engine.planner.rewrite.FilterPushDownRule.visitScan(FilterPushDownRule.java:33)
>       at 
> org.apache.tajo.engine.planner.BasicLogicalPlanVisitor.visit(BasicLogicalPlanVisitor.java:96)
>       at 
> org.apache.tajo.engine.planner.rewrite.FilterPushDownRule.visitJoin(FilterPushDownRule.java:208)
>       at 
> org.apache.tajo.engine.planner.rewrite.FilterPushDownRule.visitJoin(FilterPushDownRule.java:33)
>       at 
> org.apache.tajo.engine.planner.BasicLogicalPlanVisitor.visit(BasicLogicalPlanVisitor.java:81)
>       at 
> org.apache.tajo.engine.planner.rewrite.FilterPushDownRule.visitFilter(FilterPushDownRule.java:66)
>       at 
> org.apache.tajo.engine.planner.rewrite.FilterPushDownRule.visitFilter(FilterPushDownRule.java:33)
>       at 
> org.apache.tajo.engine.planner.BasicLogicalPlanVisitor.visit(BasicLogicalPlanVisitor.java:78)
>       at 
> org.apache.tajo.engine.planner.BasicLogicalPlanVisitor.visitGroupBy(BasicLogicalPlanVisitor.java:182)
>       at 
> org.apache.tajo.engine.planner.BasicLogicalPlanVisitor.visit(BasicLogicalPlanVisitor.java:75)
>       at 
> org.apache.tajo.engine.planner.BasicLogicalPlanVisitor.visitProjection(BasicLogicalPlanVisitor.java:146)
>       at 
> org.apache.tajo.engine.planner.BasicLogicalPlanVisitor.visit(BasicLogicalPlanVisitor.java:63)
>       at 
> org.apache.tajo.engine.planner.BasicLogicalPlanVisitor.visit(BasicLogicalPlanVisitor.java:45)
>       at 
> org.apache.tajo.engine.planner.rewrite.FilterPushDownRule.visitTableSubQuery(FilterPushDownRule.java:288)
>       at 
> org.apache.tajo.engine.planner.rewrite.FilterPushDownRule.visitTableSubQuery(FilterPushDownRule.java:33)
>       at 
> org.apache.tajo.engine.planner.BasicLogicalPlanVisitor.visit(BasicLogicalPlanVisitor.java:93)
>       at 
> org.apache.tajo.engine.planner.rewrite.FilterPushDownRule.visitJoin(FilterPushDownRule.java:209)
>       at 
> org.apache.tajo.engine.planner.rewrite.FilterPushDownRule.visitJoin(FilterPushDownRule.java:33)
>       at 
> org.apache.tajo.engine.planner.BasicLogicalPlanVisitor.visit(BasicLogicalPlanVisitor.java:81)
>       at 
> org.apache.tajo.engine.planner.rewrite.FilterPushDownRule.visitFilter(FilterPushDownRule.java:66)
>       at 
> org.apache.tajo.engine.planner.rewrite.FilterPushDownRule.visitFilter(FilterPushDownRule.java:33)
>       at 
> org.apache.tajo.engine.planner.BasicLogicalPlanVisitor.visit(BasicLogicalPlanVisitor.java:78)
>       at 
> org.apache.tajo.engine.planner.BasicLogicalPlanVisitor.visitSort(BasicLogicalPlanVisitor.java:164)
>       at 
> org.apache.tajo.engine.planner.BasicLogicalPlanVisitor.visit(BasicLogicalPlanVisitor.java:69)
>       at 
> org.apache.tajo.engine.planner.BasicLogicalPlanVisitor.visitProjection(BasicLogicalPlanVisitor.java:146)
>       at 
> org.apache.tajo.engine.planner.BasicLogicalPlanVisitor.visit(BasicLogicalPlanVisitor.java:63)
>       at 
> org.apache.tajo.engine.planner.BasicLogicalPlanVisitor.visitRoot(BasicLogicalPlanVisitor.java:136)
>       at 
> org.apache.tajo.engine.planner.BasicLogicalPlanVisitor.visit(BasicLogicalPlanVisitor.java:58)
>       at 
> org.apache.tajo.engine.planner.rewrite.FilterPushDownRule.rewrite(FilterPushDownRule.java:54)
>       at 
> org.apache.tajo.engine.planner.rewrite.BasicQueryRewriteEngine.rewrite(BasicQueryRewriteEngine.java:63)
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to