Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Cannot Reproduce
-
0.8.0
-
None
Description
I found a bug when I tested union query with partitioned tables as follows:
create external table table1 (id int, name text, score float, type text) using csv with ('csvfile.delimiter'='|') location 'hdfs://localhost:9010/tajo/warehouse/table1' ; create table table2 (id int, name text, score float, type text) using csv with ('csvfile.delimiter'='|') partition by column(part text); insert overwrite into table2 select id, name, score, type, '20140203' from table1; create table table3 (id int, name text, score float, type text) using csv with ('csvfile.delimiter'='|') partition by column(part text); select id, name from table2 where part = '20140203' union select id, name from table3 where part = '20140203'; java.lang.NullPointerException at org.apache.tajo.engine.planner.LogicalPlan.getNormalizedColumnName(LogicalPlan.java:183) at org.apache.tajo.engine.planner.ExprNormalizer.visitColumnReference(ExprNormalizer.java:253) at org.apache.tajo.engine.planner.ExprNormalizer.visitColumnReference(ExprNormalizer.java:77) at org.apache.tajo.engine.planner.BaseAlgebraVisitor.visit(BaseAlgebraVisitor.java:196) at org.apache.tajo.engine.planner.SimpleAlgebraVisitor.visit(SimpleAlgebraVisitor.java:41) at org.apache.tajo.engine.planner.SimpleAlgebraVisitor.visitBinaryOperator(SimpleAlgebraVisitor.java:56) at org.apache.tajo.engine.planner.ExprNormalizer.visitBinaryOperator(ExprNormalizer.java:160) at org.apache.tajo.engine.planner.ExprNormalizer.visitBinaryOperator(ExprNormalizer.java:77) at org.apache.tajo.engine.planner.SimpleAlgebraVisitor.visit(SimpleAlgebraVisitor.java:38) at org.apache.tajo.engine.planner.ExprNormalizer.normalize(ExprNormalizer.java:103) at org.apache.tajo.engine.planner.LogicalPlanner.visitFilter(LogicalPlanner.java:701) at org.apache.tajo.engine.planner.LogicalPlanner.visitFilter(LogicalPlanner.java:55) at org.apache.tajo.engine.planner.BaseAlgebraVisitor.visit(BaseAlgebraVisitor.java:73) at org.apache.tajo.engine.planner.LogicalPlanner.visitProjection(LogicalPlanner.java:188) at org.apache.tajo.engine.planner.LogicalPlanner.visitProjection(LogicalPlanner.java:55) at org.apache.tajo.engine.planner.BaseAlgebraVisitor.visit(BaseAlgebraVisitor.java:55) at org.apache.tajo.engine.planner.LogicalPlanner.buildSetPlan(LogicalPlanner.java:1060) at org.apache.tajo.engine.planner.LogicalPlanner.visitUnion(LogicalPlanner.java:1032) at org.apache.tajo.engine.planner.LogicalPlanner.visitUnion(LogicalPlanner.java:55) at org.apache.tajo.engine.planner.BaseAlgebraVisitor.visit(BaseAlgebraVisitor.java:76) at org.apache.tajo.engine.planner.LogicalPlanner.createPlan(LogicalPlanner.java:106) at org.apache.tajo.master.GlobalEngine.createLogicalPlan(GlobalEngine.java:245) at org.apache.tajo.master.GlobalEngine.executeQuery(GlobalEngine.java:136)
For reference, I used data file as follows:
data.csv 1|abc|1.1|a 2|def|2.3|b 3|ghi|3.4|c 4|jkl|4.5|d 5|mno|5.6|e
And if I don't write where clause, I can't find this error.