You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tajo.apache.org by Hyunsik Choi <hy...@apache.org> on 2014/02/03 19:03:37 UTC

Review Request 17664: TAJO-581: Inline view on column partitioned table causes NPE

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17664/
-----------------------------------------------------------

Review request for Tajo.


Bugs: TAJO-581
    https://issues.apache.org/jira/browse/TAJO-581


Repository: tajo


Description
-------

Please take a look at an example. This query causes NPE and a wrong partitioned table rewrite result.
{code}
select 
  * 
from (
    select 
      col1, 
      col2, 
      null_col, 
      key 
    from
      table1
    where (key = 45.0 or key = 38.0) and null_col is null
) test;
{code}


Diffs
-----

  CHANGES.txt e3c433fbaab392c14bea109d3ffbdd25752984a0 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java b629013589b8f47b464352c83d49b1a2edff12df 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalOptimizer.java b462a30b612b9eb340c58a705d94fc7bd021fb9f 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 0831b0a1fbeaa254b1bf154ffc47a8c8c2cbfed5 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 3b4ec896db95126b37b74f2a3041727b1787ca2b 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java f5d82a7298fa1a01c8eb2c11647d1f86a7801333 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java b9683ebead3955b13b0dc2b4e6ca6aeb107124ee 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/GroupbyNode.java 8acd32eb558396721dd5a843a5d015dfda8a2b18 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/TableSubQueryNode.java 25e5d07915993eddf646e46c722e080a1ba492ec 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/join/GreedyHeuristicJoinOrderAlgorithm.java 1b2e4d9f993f8bdcc92bad35a6393a5d7ec2c569 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/rewrite/PartitionedTableRewriter.java c731958775712d904f0e080a058377de34fa6e80 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/rewrite/ProjectionPushDownRule.java 391d4d11545ac46c74014e661ea6b44e16d08bd4 
  tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java fd280c7c4932313ef537c95708e219fec71e262c 
  tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 299703c31773af8c0297b2551ea025c335f546cc 
  tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java 86d603e5719f62a73f9a8fb7cae0de0beba9afad 
  tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 09ab5b78b54b336f4e68d6624bf7b12e4096fdd0 
  tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java d7879cfd1851046cf3c9138a8f832bb98cfdf44c 
  tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java 1e021b3c775ec3d46f31a1bfae0dea96359b45ae 
  tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java df20e7617cc64de9b586f078d4fbe6a12f34c561 
  tajo-core/tajo-core-backend/src/test/resources/queries/TestTablePartitions/case1.sql PRE-CREATION 
  tajo-core/tajo-core-backend/src/test/resources/queries/TestTablePartitions/case2.sql PRE-CREATION 
  tajo-core/tajo-core-backend/src/test/resources/results/TestTablePartitions/case1.result PRE-CREATION 
  tajo-core/tajo-core-backend/src/test/resources/results/TestTablePartitions/case2.result PRE-CREATION 

Diff: https://reviews.apache.org/r/17664/diff/


Testing
-------


Thanks,

Hyunsik Choi


Re: Review Request 17664: TAJO-581: Inline view on column partitioned table causes NPE

Posted by Hyunsik Choi <hy...@apache.org>.

> On Feb. 4, 2014, 5:01 p.m., Jung JaeHwa wrote:
> > +1 for the patch.
> > Ship it.

Thank you for the review :)


- Hyunsik


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17664/#review33570
-----------------------------------------------------------


On Feb. 4, 2014, 3:07 a.m., Hyunsik Choi wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17664/
> -----------------------------------------------------------
> 
> (Updated Feb. 4, 2014, 3:07 a.m.)
> 
> 
> Review request for Tajo.
> 
> 
> Bugs: TAJO-581
>     https://issues.apache.org/jira/browse/TAJO-581
> 
> 
> Repository: tajo
> 
> 
> Description
> -------
> 
> Please take a look at an example. This query causes NPE and a wrong partitioned table rewrite result.
> {code}
> select 
>   * 
> from (
>     select 
>       col1, 
>       col2, 
>       null_col, 
>       key 
>     from
>       table1
>     where (key = 45.0 or key = 38.0) and null_col is null
> ) test;
> {code}
> 
> 
> Diffs
> -----
> 
>   CHANGES.txt e3c433fbaab392c14bea109d3ffbdd25752984a0 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java b629013589b8f47b464352c83d49b1a2edff12df 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalOptimizer.java b462a30b612b9eb340c58a705d94fc7bd021fb9f 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 0831b0a1fbeaa254b1bf154ffc47a8c8c2cbfed5 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 3b4ec896db95126b37b74f2a3041727b1787ca2b 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java f5d82a7298fa1a01c8eb2c11647d1f86a7801333 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java b9683ebead3955b13b0dc2b4e6ca6aeb107124ee 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/GroupbyNode.java 8acd32eb558396721dd5a843a5d015dfda8a2b18 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/TableSubQueryNode.java 25e5d07915993eddf646e46c722e080a1ba492ec 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/join/GreedyHeuristicJoinOrderAlgorithm.java 1b2e4d9f993f8bdcc92bad35a6393a5d7ec2c569 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/rewrite/PartitionedTableRewriter.java c731958775712d904f0e080a058377de34fa6e80 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/rewrite/ProjectionPushDownRule.java 391d4d11545ac46c74014e661ea6b44e16d08bd4 
>   tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java fd280c7c4932313ef537c95708e219fec71e262c 
>   tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 299703c31773af8c0297b2551ea025c335f546cc 
>   tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java 86d603e5719f62a73f9a8fb7cae0de0beba9afad 
>   tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 09ab5b78b54b336f4e68d6624bf7b12e4096fdd0 
>   tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java d7879cfd1851046cf3c9138a8f832bb98cfdf44c 
>   tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java 1e021b3c775ec3d46f31a1bfae0dea96359b45ae 
>   tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java df20e7617cc64de9b586f078d4fbe6a12f34c561 
>   tajo-core/tajo-core-backend/src/test/resources/queries/TestTablePartitions/case1.sql PRE-CREATION 
>   tajo-core/tajo-core-backend/src/test/resources/queries/TestTablePartitions/case2.sql PRE-CREATION 
>   tajo-core/tajo-core-backend/src/test/resources/results/TestTablePartitions/case1.result PRE-CREATION 
>   tajo-core/tajo-core-backend/src/test/resources/results/TestTablePartitions/case2.result PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17664/diff/
> 
> 
> Testing
> -------
> 
> mvn clean install.
> 
> 
> Thanks,
> 
> Hyunsik Choi
> 
>


Re: Review Request 17664: TAJO-581: Inline view on column partitioned table causes NPE

Posted by Jung JaeHwa <jh...@gruter.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17664/#review33570
-----------------------------------------------------------


+1 for the patch.
Ship it. 

- Jung JaeHwa


On Feb. 3, 2014, 6:07 p.m., Hyunsik Choi wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17664/
> -----------------------------------------------------------
> 
> (Updated Feb. 3, 2014, 6:07 p.m.)
> 
> 
> Review request for Tajo.
> 
> 
> Bugs: TAJO-581
>     https://issues.apache.org/jira/browse/TAJO-581
> 
> 
> Repository: tajo
> 
> 
> Description
> -------
> 
> Please take a look at an example. This query causes NPE and a wrong partitioned table rewrite result.
> {code}
> select 
>   * 
> from (
>     select 
>       col1, 
>       col2, 
>       null_col, 
>       key 
>     from
>       table1
>     where (key = 45.0 or key = 38.0) and null_col is null
> ) test;
> {code}
> 
> 
> Diffs
> -----
> 
>   CHANGES.txt e3c433fbaab392c14bea109d3ffbdd25752984a0 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java b629013589b8f47b464352c83d49b1a2edff12df 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalOptimizer.java b462a30b612b9eb340c58a705d94fc7bd021fb9f 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 0831b0a1fbeaa254b1bf154ffc47a8c8c2cbfed5 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 3b4ec896db95126b37b74f2a3041727b1787ca2b 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java f5d82a7298fa1a01c8eb2c11647d1f86a7801333 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java b9683ebead3955b13b0dc2b4e6ca6aeb107124ee 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/GroupbyNode.java 8acd32eb558396721dd5a843a5d015dfda8a2b18 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/TableSubQueryNode.java 25e5d07915993eddf646e46c722e080a1ba492ec 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/join/GreedyHeuristicJoinOrderAlgorithm.java 1b2e4d9f993f8bdcc92bad35a6393a5d7ec2c569 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/rewrite/PartitionedTableRewriter.java c731958775712d904f0e080a058377de34fa6e80 
>   tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/rewrite/ProjectionPushDownRule.java 391d4d11545ac46c74014e661ea6b44e16d08bd4 
>   tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java fd280c7c4932313ef537c95708e219fec71e262c 
>   tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 299703c31773af8c0297b2551ea025c335f546cc 
>   tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java 86d603e5719f62a73f9a8fb7cae0de0beba9afad 
>   tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 09ab5b78b54b336f4e68d6624bf7b12e4096fdd0 
>   tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java d7879cfd1851046cf3c9138a8f832bb98cfdf44c 
>   tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java 1e021b3c775ec3d46f31a1bfae0dea96359b45ae 
>   tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java df20e7617cc64de9b586f078d4fbe6a12f34c561 
>   tajo-core/tajo-core-backend/src/test/resources/queries/TestTablePartitions/case1.sql PRE-CREATION 
>   tajo-core/tajo-core-backend/src/test/resources/queries/TestTablePartitions/case2.sql PRE-CREATION 
>   tajo-core/tajo-core-backend/src/test/resources/results/TestTablePartitions/case1.result PRE-CREATION 
>   tajo-core/tajo-core-backend/src/test/resources/results/TestTablePartitions/case2.result PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/17664/diff/
> 
> 
> Testing
> -------
> 
> mvn clean install.
> 
> 
> Thanks,
> 
> Hyunsik Choi
> 
>


Re: Review Request 17664: TAJO-581: Inline view on column partitioned table causes NPE

Posted by Hyunsik Choi <hy...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17664/
-----------------------------------------------------------

(Updated Feb. 4, 2014, 3:07 a.m.)


Review request for Tajo.


Bugs: TAJO-581
    https://issues.apache.org/jira/browse/TAJO-581


Repository: tajo


Description
-------

Please take a look at an example. This query causes NPE and a wrong partitioned table rewrite result.
{code}
select 
  * 
from (
    select 
      col1, 
      col2, 
      null_col, 
      key 
    from
      table1
    where (key = 45.0 or key = 38.0) and null_col is null
) test;
{code}


Diffs
-----

  CHANGES.txt e3c433fbaab392c14bea109d3ffbdd25752984a0 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java b629013589b8f47b464352c83d49b1a2edff12df 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalOptimizer.java b462a30b612b9eb340c58a705d94fc7bd021fb9f 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java 0831b0a1fbeaa254b1bf154ffc47a8c8c2cbfed5 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java 3b4ec896db95126b37b74f2a3041727b1787ca2b 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java f5d82a7298fa1a01c8eb2c11647d1f86a7801333 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java b9683ebead3955b13b0dc2b4e6ca6aeb107124ee 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/GroupbyNode.java 8acd32eb558396721dd5a843a5d015dfda8a2b18 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/TableSubQueryNode.java 25e5d07915993eddf646e46c722e080a1ba492ec 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/join/GreedyHeuristicJoinOrderAlgorithm.java 1b2e4d9f993f8bdcc92bad35a6393a5d7ec2c569 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/rewrite/PartitionedTableRewriter.java c731958775712d904f0e080a058377de34fa6e80 
  tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/rewrite/ProjectionPushDownRule.java 391d4d11545ac46c74014e661ea6b44e16d08bd4 
  tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/QueryTestCaseBase.java fd280c7c4932313ef537c95708e219fec71e262c 
  tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java 299703c31773af8c0297b2551ea025c335f546cc 
  tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java 86d603e5719f62a73f9a8fb7cae0de0beba9afad 
  tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java 09ab5b78b54b336f4e68d6624bf7b12e4096fdd0 
  tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java d7879cfd1851046cf3c9138a8f832bb98cfdf44c 
  tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java 1e021b3c775ec3d46f31a1bfae0dea96359b45ae 
  tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java df20e7617cc64de9b586f078d4fbe6a12f34c561 
  tajo-core/tajo-core-backend/src/test/resources/queries/TestTablePartitions/case1.sql PRE-CREATION 
  tajo-core/tajo-core-backend/src/test/resources/queries/TestTablePartitions/case2.sql PRE-CREATION 
  tajo-core/tajo-core-backend/src/test/resources/results/TestTablePartitions/case1.result PRE-CREATION 
  tajo-core/tajo-core-backend/src/test/resources/results/TestTablePartitions/case2.result PRE-CREATION 

Diff: https://reviews.apache.org/r/17664/diff/


Testing (updated)
-------

mvn clean install.


Thanks,

Hyunsik Choi