Uploaded image for project: 'Tajo'
  1. Tajo
  2. TAJO-501

Rewrite the projection part of logical planning

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.8.0
    • Component/s: Planner/Optimizer
    • Labels:
      None

      Description

      The projection part of LogicalPlanner was designed long time ago. It has evolved to support many SQL expressions. However, due to its rough design, it is hard to be improved for further SQL expressions and it causes many bugs.

      The current logical planner has the following problems:

      • other expressions except for column can be used in group-by clause.
      • other expressions except for column can not be used in order-by clause.
      • An expression including some aggregation function must be evaluated in group-by executor.
        • As a result, some aggregation operator like HashAggregateExec has to keep all intermediate results of a complex expression in a hash table.
        • It also causes frequent GC and large memory consumption.

      The too high code complexity also causes many bugs like

      • TAJO-434 - java.lang.NullPointerException for invalid column name
      • TAJO-428 - CASE WHEN IS NULL condition is a problem using LEFT OUTER JOIN
      • TAJO-463 - ProjectionPushDownRule incorrectly rewrite the output schema of StoreTableNode
      • TAJO-443 - Order by query gives NullPointerException at at org.apache.tajo.catalog.Schema.getColumnId(Schema.java:142)

      The major reason of this problem is as follows:

      • TargetListManager keeps only the final target list.
        • SELECT col1, sum(col2) as col2, ... <- the final target list
      • TargetListManager deals with each expression described in a target list or other clauses like group-by clause as a singleton expression.

      The main objective of this issue is to rewrite the projection part of logical planning in order to those problems.

      For 2 weeks, I've rewritten this part. I'll submit the patch soon.

      1. TAJO-501_2.patch
        609 kB
        Hyunsik Choi
      2. TAJO-501_3.patch
        609 kB
        Hyunsik Choi
      3. TAJO-501_4.patch
        610 kB
        Hyunsik Choi
      4. TAJO-501.patch
        609 kB
        Hyunsik Choi

        Activity

        Hide
        jhkim Jinho Kim added a comment -

        Could you change to java 1.6 ? before review request on the RB.

        [ERROR] COMPILATION ERROR : 
        [INFO] -------------------------------------------------------------
        [ERROR] /Users/kimjh/asf-patch/incubator-tajo/tajo-algebra/src/main/java/org/apache/tajo/algebra/FunctionExpr.java:[23,16] cannot find symbol
        symbol  : class Objects
        location: package java.util
        ...
        
        Results :
        
        Failed tests:   testUnion10(org.apache.tajo.engine.query.TestUnionQuery): Result Verification expected:<...-------------------(..)
        
        Tests run: 496, Failures: 1, Errors: 0, Skipped: 0
        
        Show
        jhkim Jinho Kim added a comment - Could you change to java 1.6 ? before review request on the RB. [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] /Users/kimjh/asf-patch/incubator-tajo/tajo-algebra/src/main/java/org/apache/tajo/algebra/FunctionExpr.java:[23,16] cannot find symbol symbol : class Objects location: package java.util ... Results : Failed tests: testUnion10(org.apache.tajo.engine.query.TestUnionQuery): Result Verification expected:<...-------------------(..) Tests run: 496, Failures: 1, Errors: 0, Skipped: 0
        Hide
        tajoqa Tajo QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12623580/TAJO-501.patch
        against master revision b822c28.

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 91 new or modified test files.

        -1 javac. The patch appears to cause the build to fail.

        Console output: https://builds.apache.org/job/PreCommit-TAJO-Build/53//console

        This message is automatically generated.

        Show
        tajoqa Tajo QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12623580/TAJO-501.patch against master revision b822c28. +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 91 new or modified test files. -1 javac. The patch appears to cause the build to fail. Console output: https://builds.apache.org/job/PreCommit-TAJO-Build/53//console This message is automatically generated.
        Hide
        hyunsik Hyunsik Choi added a comment -

        I uploaded the second patch.

        Above all, I'm very sorry for submitting a large patch. I have corrected LogicalPlanner and ProjectionPushDown. It unveils many potential bugs. This patch fixes the bugs that I have found during this work.

        In addition, I found some bug in the part of table partition. This patch does not fix the bugs because that is too far from this issue's scope. It just commented out the unit test (TestCTASQuery::testCtasWithColumnedPartition). I'll create another issue for that.

        Show
        hyunsik Hyunsik Choi added a comment - I uploaded the second patch. Above all, I'm very sorry for submitting a large patch. I have corrected LogicalPlanner and ProjectionPushDown. It unveils many potential bugs. This patch fixes the bugs that I have found during this work. In addition, I found some bug in the part of table partition. This patch does not fix the bugs because that is too far from this issue's scope. It just commented out the unit test (TestCTASQuery::testCtasWithColumnedPartition). I'll create another issue for that.
        Hide
        jihoonson Jihoon Son added a comment -

        Thanks Hyunsik, but there is still compilation errors as Jinho commented.
        Would you upload again after fixing compilation errors?

        Show
        jihoonson Jihoon Son added a comment - Thanks Hyunsik, but there is still compilation errors as Jinho commented. Would you upload again after fixing compilation errors?
        Hide
        tajoqa Tajo QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12623595/TAJO-501_2.patch
        against master revision 568c523.

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 91 new or modified test files.

        -1 javac. The patch appears to cause the build to fail.

        Console output: https://builds.apache.org/job/PreCommit-TAJO-Build/54//console

        This message is automatically generated.

        Show
        tajoqa Tajo QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12623595/TAJO-501_2.patch against master revision 568c523. +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 91 new or modified test files. -1 javac. The patch appears to cause the build to fail. Console output: https://builds.apache.org/job/PreCommit-TAJO-Build/54//console This message is automatically generated.
        Hide
        hyunsik Hyunsik Choi added a comment -

        I'm sorry for missing them. I've fixed them.

        Show
        hyunsik Hyunsik Choi added a comment - I'm sorry for missing them. I've fixed them.
        Hide
        hyunsik Hyunsik Choi added a comment -

        testUnion10 can cause unit test failure due to the result order problem. So, I've added the order-by clase to the outer query block.

        Show
        hyunsik Hyunsik Choi added a comment - testUnion10 can cause unit test failure due to the result order problem. So, I've added the order-by clase to the outer query block.
        Hide
        jihoonson Jihoon Son added a comment -

        The latest patch passed all the tests.
        I'll review tonight.
        Hyunsik, would you upload the patch in RB, please?

        Show
        jihoonson Jihoon Son added a comment - The latest patch passed all the tests. I'll review tonight. Hyunsik, would you upload the patch in RB, please?
        Hide
        hyunsik Hyunsik Choi added a comment -

        Oh.. I missed that. I've just uploaded the patch to RB.
        https://reviews.apache.org/r/17040/

        Show
        hyunsik Hyunsik Choi added a comment - Oh.. I missed that. I've just uploaded the patch to RB. https://reviews.apache.org/r/17040/
        Hide
        tajoqa Tajo QA added a comment -

        -1 overall. Here are the results of testing the latest attachment
        http://issues.apache.org/jira/secure/attachment/12623609/TAJO-501_4.patch
        against master revision ebb12b7.

        -1 patch. The patch command could not apply the patch.

        +1 @author. The patch does not contain any @author tags.

        +1 tests included. The patch appears to include 91 new or modified test files.

        -1 patch. The patch command could not apply the patch.

        Console output: https://builds.apache.org/job/PreCommit-TAJO-Build/56//console

        This message is automatically generated.

        Show
        tajoqa Tajo QA added a comment - -1 overall. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12623609/TAJO-501_4.patch against master revision ebb12b7. -1 patch. The patch command could not apply the patch. +1 @author. The patch does not contain any @author tags. +1 tests included. The patch appears to include 91 new or modified test files. -1 patch. The patch command could not apply the patch. Console output: https://builds.apache.org/job/PreCommit-TAJO-Build/56//console This message is automatically generated.
        Hide
        hyunsik Hyunsik Choi added a comment -

        I really apology the commit mistake. I intended it to my private repository, but I mistook it to ASF repository. I tried to revert it, but this commit is inserted to the latest commit. So, it is hard to revert this commit.

        Fortunately, this commit is the same to the latest patch. If you all accept, I'll fix it according to your later comments.

        Show
        hyunsik Hyunsik Choi added a comment - I really apology the commit mistake. I intended it to my private repository, but I mistook it to ASF repository. I tried to revert it, but this commit is inserted to the latest commit. So, it is hard to revert this commit. Fortunately, this commit is the same to the latest patch. If you all accept, I'll fix it according to your later comments.
        Hide
        jihoonson Jihoon Son added a comment -

        That's ok.
        Now, I'm reviewing the patch.
        Since the patch contains huge changes, it might take some time.

        Show
        jihoonson Jihoon Son added a comment - That's ok. Now, I'm reviewing the patch. Since the patch contains huge changes, it might take some time.
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Tajo-master-build #17 (See https://builds.apache.org/job/Tajo-master-build/17/)
        TAJO-501: Rewrite the projection part of logical planning. (hyunsik: https://git-wip-us.apache.org/repos/asf?p=incubator-tajo.git&a=commit&h=8e1f989aad27022371d1c973d5acea68568918db)

        • tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion2.result
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/SetOperation.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java
        • tajo-algebra/src/test/java/org/apache/tajo/algebra/TestExpr.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/HashAggregateExec.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/TargetExpr.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/oj_table2_ddl.sql
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTree.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestUnionQuery/testUnion2.sql
        • tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion7.result
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/EvalExprExec.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinRefEval.result
        • tajo-core/tajo-core-backend/src/test/resources/results/TestGroupByQuery/testGroupByNested2.result
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalNode.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/Projector.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/MergeFullOuterJoinExec.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/Insert.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/CountRowsFunctionExpr.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoin.result
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/CaseWhenEval.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/InEval.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testWhereClauseJoin5.result
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testWhereClauseJoin1.sql
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testWhereClauseJoin2.sql
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/BinaryOperator.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testWhereClauseJoin3.sql
        • tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinAndCaseWhen.result
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/GroupbyNode.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/ProjectionExec.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/NLLeftOuterJoinExec.java
        • tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2.tbl
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestSortQuery/testSortAfterGroupby.sql
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/RangePartitionAlgorithm.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprFinder.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/PhysicalPlanUtil.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testOuterJoinAndCaseWhen1.result
        • tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testWhereClauseJoin2.result
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/rewrite/PartitionedTableRewriter.java
        • tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1.tbl
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/SelectionExec.java
        • tajo-common/src/main/java/org/apache/tajo/datum/Float8Datum.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/UnaryOperator.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/NamedExprsManager.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/CastExpr.java
        • tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogUtil.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion6.result
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/IndexScanNode.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/DataTypeExpr.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/SelectionNode.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprAnnotator.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/BNLJoinExec.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinAndCaseWhen.sql
        • tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testTPCHQ2Join.result
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestUnionQuery/testUnion3.sql
        • tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testWhereClauseJoin4.result
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoin.sql
        • tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestColumn.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestSortQuery/testSortWithExpr2.sql
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestUnionQuery/testUnion4.sql
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestUnionQuery/testUnion7.sql
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/UnionNode.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/PatternMatchPredicate.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/NullLiteral.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/HashFullOuterJoinExec.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testTPCHQ2Join.sql
        • tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/Column.java
        • tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestSortQuery/testSortWithExpr1.sql
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testOuterJoinAndCaseWhen1.sql
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/Projectable.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/ExistsPredicate.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/HavingExec.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestSelectQuery/testUnion2.sql
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/BinaryEval.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestSortQuery/testSortWithExpr2.result
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/Having.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/rewrite/FilterPushDownRule.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinAndCaseWhen.sql
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/SimpleAlgebraVisitor.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/exception/NoSuchColumnException.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ProjectionNode.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/GeneralSetFunctionExpr.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithExplicitJoinQual.result
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/SchemaUtil.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestUnionQuery/testUnion5.sql
        • tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion5.result
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testWhereClauseJoin4.sql
        • tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestSchema.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/NamedExpr.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestSortQuery/testSortWithAlias1.result
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/Join.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestUnionQuery/testUnion10.sql
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/Expr.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestSortQuery/testSortWithExpr1.result
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/BetweenPredicate.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithExplicitJoinQual.sql
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/FieldEval.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testWhereClauseJoin5.sql
        • tajo-core/tajo-core-backend/src/test/resources/results/TestSortQuery/testSortWithAliasKey.result
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/Relation.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/TargetListManager.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/Limit.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinAndCaseWhen.result
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java
        • tajo-common/src/test/java/org/apache/tajo/common/type/TestIPv4.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testWhereClauseJoin1.result
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/Target.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestSortQuery/testSortAfterGroupby.result
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/RelationList.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestUnionQuery/testUnion8.sql
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestSelectQuery/testSelectColumnAlias1.sql
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java
        • tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/Schema.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestGroupByQuery/testGroupByNested1.result
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/RightOuterMergeJoinExec.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/BasicPhysicalExecutorVisitor.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/PhysicalExecutorVisitor.java
        • tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/RelationNode.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/oj_table1_ddl.sql
        • tajo-core/tajo-core-backend/src/test/resources/results/TestSelectQuery/testSelectColumnAlias1.result
        • tajo-common/src/main/java/org/apache/tajo/datum/TextDatum.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftOuterJoinExec.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/BSTIndexScanExec.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/TableSubQueryNode.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/SortNode.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestUnionQuery/testUnion6.sql
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalOptimizer.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/SimpleTableSubQuery.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion3.result
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/HavingNode.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestTPCH/testQ2FourJoins.sql
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/join/JoinGraph.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion1.result
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestPredicates.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/ScalarSubQuery.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/SeqScanExec.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/NotEval.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/Selection.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion8.result
        • tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testWhereClauseJoin3.result
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveConverter.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/JoinNode.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/Sort.java
        • tajo-common/src/test/java/org/apache/tajo/datum/TestBitDatum.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/TablePrimarySubQuery.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/Projection.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestTPCH/testTPCH14Expr.sql
        • tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion10.result
        • tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestUnionQuery/testUnion1.sql
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestUnionQuery/testUnion9.sql
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/CaseWhenPredicate.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/HashJoinExec.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/IsNullEval.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion9.result
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestGroupByQuery/testGroupByNested2.sql
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/GroupElement.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestSelectQuery/testUnion1.sql
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/AlgebraicUtil.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/EvalExprNode.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/IsNullPredicate.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/MergeJoinExec.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestSortQuery/testSortWithAlias1.sql
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PhysicalPlannerImpl.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/SignedExpr.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestSortQuery/testSortWithAliasKey.sql
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/InsertNode.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/LiteralValue.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/FunctionExpr.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/ValueListExpr.java
        • tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion4.result
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java
        • tajo-core/tajo-core-storage/src/main/java/org/apache/tajo/storage/v2/DiskUtil.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/NLJoinExec.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestGroupByQuery/testGroupByNested1.sql
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/LimitNode.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/parser/TestHiveConverter.java
        • tajo-algebra/src/main/java/org/apache/tajo/algebra/Aggregation.java
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testWhereClauseJoin6.sql
        • tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinRefEval.sql
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/AggregationExec.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GreedyFragmentScheduleAlgorithm.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/EvalTreeUtil.java
        • tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/rewrite/ProjectionPushDownRule.java
        • tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/dataserver/TestHttpDataServer.java
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Tajo-master-build #17 (See https://builds.apache.org/job/Tajo-master-build/17/ ) TAJO-501 : Rewrite the projection part of logical planning. (hyunsik: https://git-wip-us.apache.org/repos/asf?p=incubator-tajo.git&a=commit&h=8e1f989aad27022371d1c973d5acea68568918db ) tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion2.result tajo-algebra/src/main/java/org/apache/tajo/algebra/SetOperation.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlan.java tajo-algebra/src/test/java/org/apache/tajo/algebra/TestExpr.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/HashAggregateExec.java tajo-algebra/src/main/java/org/apache/tajo/algebra/TargetExpr.java tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/oj_table2_ddl.sql tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTree.java tajo-core/tajo-core-backend/src/test/resources/queries/TestUnionQuery/testUnion2.sql tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion7.result tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/EvalExprExec.java tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinRefEval.result tajo-core/tajo-core-backend/src/test/resources/results/TestGroupByQuery/testGroupByNested2.result tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalNode.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/Projector.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/MergeFullOuterJoinExec.java tajo-algebra/src/main/java/org/apache/tajo/algebra/Insert.java tajo-algebra/src/main/java/org/apache/tajo/algebra/CountRowsFunctionExpr.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/master/TestExecutionBlockCursor.java tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoin.result tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/CaseWhenEval.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/InEval.java tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testWhereClauseJoin5.result tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestPlannerUtil.java tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testWhereClauseJoin1.sql tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/TajoMaster.java tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testWhereClauseJoin2.sql tajo-algebra/src/main/java/org/apache/tajo/algebra/BinaryOperator.java tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testWhereClauseJoin3.sql tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinAndCaseWhen.result tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/CreateTableNode.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/DropTableNode.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/GroupbyNode.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/ProjectionExec.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/NLLeftOuterJoinExec.java tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table2.tbl tajo-core/tajo-core-backend/src/test/resources/queries/TestSortQuery/testSortAfterGroupby.sql tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/RangePartitionAlgorithm.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprFinder.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/PhysicalPlanUtil.java tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testOuterJoinAndCaseWhen1.result tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testWhereClauseJoin2.result tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/rewrite/PartitionedTableRewriter.java tajo-core/tajo-core-backend/src/test/resources/dataset/TestJoinQuery/table1.tbl tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BasicLogicalPlanVisitor.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/SelectionExec.java tajo-common/src/main/java/org/apache/tajo/datum/Float8Datum.java tajo-algebra/src/main/java/org/apache/tajo/algebra/UnaryOperator.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/NamedExprsManager.java tajo-algebra/src/main/java/org/apache/tajo/algebra/CastExpr.java tajo-catalog/tajo-catalog-drivers/tajo-hcatalog/src/main/java/org/apache/tajo/catalog/store/HCatalogUtil.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestResultSet.java tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion6.result tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/IndexScanNode.java tajo-algebra/src/main/java/org/apache/tajo/algebra/DataTypeExpr.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/TestRangeRetrieverHandler.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ScanNode.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSortQuery.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/ExprTestBase.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/SelectionNode.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprAnnotator.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/BNLJoinExec.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashSemiJoinExec.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/jdbc/TestTajoJdbc.java tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinAndCaseWhen.sql tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testTPCHQ2Join.result tajo-core/tajo-core-backend/src/test/resources/queries/TestUnionQuery/testUnion3.sql tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testWhereClauseJoin4.result tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoin.sql tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestColumn.java tajo-core/tajo-core-backend/src/test/resources/queries/TestSortQuery/testSortWithExpr2.sql tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java tajo-core/tajo-core-backend/src/test/resources/queries/TestUnionQuery/testUnion4.sql tajo-core/tajo-core-backend/src/test/resources/queries/TestUnionQuery/testUnion7.sql tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/UnionNode.java tajo-algebra/src/main/java/org/apache/tajo/algebra/PatternMatchPredicate.java tajo-algebra/src/main/java/org/apache/tajo/algebra/NullLiteral.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVerifier.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/HashFullOuterJoinExec.java tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testTPCHQ2Join.sql tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/Column.java tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/partition/PartitionDesc.java tajo-core/tajo-core-backend/src/test/resources/queries/TestSortQuery/testSortWithExpr1.sql tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testOuterJoinAndCaseWhen1.sql tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/Projectable.java tajo-algebra/src/main/java/org/apache/tajo/algebra/ExistsPredicate.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/HavingExec.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java tajo-core/tajo-core-backend/src/test/resources/queries/TestSelectQuery/testUnion2.sql tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestHashAntiJoinExec.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/BinaryEval.java tajo-core/tajo-core-backend/src/test/resources/results/TestSortQuery/testSortWithExpr2.result tajo-algebra/src/main/java/org/apache/tajo/algebra/Having.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestUnionQuery.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/rewrite/FilterPushDownRule.java tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinAndCaseWhen.sql tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/SimpleAlgebraVisitor.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/exception/NoSuchColumnException.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/ProjectionNode.java tajo-algebra/src/main/java/org/apache/tajo/algebra/GeneralSetFunctionExpr.java tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testCrossJoinWithExplicitJoinQual.result tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/utils/SchemaUtil.java tajo-core/tajo-core-backend/src/test/resources/queries/TestUnionQuery/testUnion5.sql tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion5.result tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestBSTIndexExec.java tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testWhereClauseJoin4.sql tajo-catalog/tajo-catalog-common/src/test/java/org/apache/tajo/catalog/TestSchema.java tajo-algebra/src/main/java/org/apache/tajo/algebra/NamedExpr.java tajo-core/tajo-core-backend/src/test/resources/results/TestSortQuery/testSortWithAlias1.result tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestCTASQuery.java tajo-algebra/src/main/java/org/apache/tajo/algebra/Join.java tajo-core/tajo-core-backend/src/test/resources/queries/TestUnionQuery/testUnion10.sql tajo-algebra/src/main/java/org/apache/tajo/algebra/Expr.java tajo-core/tajo-core-backend/src/test/resources/results/TestSortQuery/testSortWithExpr1.result tajo-algebra/src/main/java/org/apache/tajo/algebra/BetweenPredicate.java tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testCrossJoinWithExplicitJoinQual.sql tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExplainLogicalPlanVisitor.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/FieldEval.java tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testWhereClauseJoin5.sql tajo-core/tajo-core-backend/src/test/resources/results/TestSortQuery/testSortWithAliasKey.result tajo-algebra/src/main/java/org/apache/tajo/algebra/Relation.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/TargetListManager.java tajo-algebra/src/main/java/org/apache/tajo/algebra/Limit.java tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testJoinAndCaseWhen.result tajo-algebra/src/main/java/org/apache/tajo/algebra/ColumnReferenceExpr.java tajo-common/src/test/java/org/apache/tajo/common/type/TestIPv4.java tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testWhereClauseJoin1.result tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/Target.java tajo-core/tajo-core-backend/src/test/resources/results/TestSortQuery/testSortAfterGroupby.result tajo-algebra/src/main/java/org/apache/tajo/algebra/RelationList.java tajo-core/tajo-core-backend/src/test/resources/queries/TestUnionQuery/testUnion8.sql tajo-core/tajo-core-backend/src/test/resources/queries/TestSelectQuery/testSelectColumnAlias1.sql tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestTablePartitions.java tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/Schema.java tajo-core/tajo-core-backend/src/test/resources/results/TestGroupByQuery/testGroupByNested1.result tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/RightOuterMergeJoinExec.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/BasicPhysicalExecutorVisitor.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/PhysicalExecutorVisitor.java tajo-core/tajo-core-backend/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4 tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/RelationNode.java tajo-algebra/src/main/java/org/apache/tajo/algebra/DropTable.java tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/oj_table1_ddl.sql tajo-core/tajo-core-backend/src/test/resources/results/TestSelectQuery/testSelectColumnAlias1.result tajo-common/src/main/java/org/apache/tajo/datum/TextDatum.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/HashLeftOuterJoinExec.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/BSTIndexScanExec.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/TableSubQueryNode.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/SortNode.java tajo-core/tajo-core-backend/src/test/resources/queries/TestUnionQuery/testUnion6.sql tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalOptimizer.java tajo-algebra/src/main/java/org/apache/tajo/algebra/SimpleTableSubQuery.java tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion3.result tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/HavingNode.java tajo-core/tajo-core-backend/src/test/resources/queries/TestTPCH/testQ2FourJoins.sql tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/join/JoinGraph.java tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion1.result tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestPredicates.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java tajo-algebra/src/main/java/org/apache/tajo/algebra/ScalarSubQuery.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/SeqScanExec.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/NotEval.java tajo-algebra/src/main/java/org/apache/tajo/algebra/Selection.java tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion8.result tajo-core/tajo-core-backend/src/test/resources/results/TestJoinQuery/testWhereClauseJoin3.result tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/HiveConverter.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/JoinNode.java tajo-algebra/src/main/java/org/apache/tajo/algebra/Sort.java tajo-common/src/test/java/org/apache/tajo/datum/TestBitDatum.java tajo-algebra/src/main/java/org/apache/tajo/algebra/TablePrimarySubQuery.java tajo-algebra/src/main/java/org/apache/tajo/algebra/Projection.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java tajo-core/tajo-core-backend/src/test/resources/queries/TestTPCH/testTPCH14Expr.sql tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion10.result tajo-client/src/main/java/org/apache/tajo/client/TajoClient.java tajo-core/tajo-core-backend/src/test/resources/queries/TestUnionQuery/testUnion1.sql tajo-core/tajo-core-backend/src/test/resources/queries/TestUnionQuery/testUnion9.sql tajo-algebra/src/main/java/org/apache/tajo/algebra/CaseWhenPredicate.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/HashJoinExec.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/IsNullEval.java tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion9.result tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/LogicalPlanVisitor.java tajo-core/tajo-core-backend/src/test/resources/queries/TestGroupByQuery/testGroupByNested2.sql tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/BaseAlgebraVisitor.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/GroupElement.java tajo-core/tajo-core-backend/src/test/resources/queries/TestSelectQuery/testUnion1.sql tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/AlgebraicUtil.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/EvalExprNode.java tajo-algebra/src/main/java/org/apache/tajo/algebra/IsNullPredicate.java tajo-algebra/src/main/java/org/apache/tajo/algebra/CreateTable.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/MergeJoinExec.java tajo-core/tajo-core-backend/src/test/resources/queries/TestSortQuery/testSortWithAlias1.sql tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PhysicalPlannerImpl.java tajo-algebra/src/main/java/org/apache/tajo/algebra/SignedExpr.java tajo-core/tajo-core-backend/src/test/resources/queries/TestSortQuery/testSortWithAliasKey.sql tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/InsertNode.java tajo-algebra/src/main/java/org/apache/tajo/algebra/LiteralValue.java tajo-algebra/src/main/java/org/apache/tajo/algebra/FunctionExpr.java tajo-algebra/src/main/java/org/apache/tajo/algebra/ValueListExpr.java tajo-core/tajo-core-backend/src/test/resources/results/TestUnionQuery/testUnion4.result tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java tajo-core/tajo-core-storage/src/main/java/org/apache/tajo/storage/v2/DiskUtil.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/NLJoinExec.java tajo-core/tajo-core-backend/src/test/resources/queries/TestGroupByQuery/testGroupByNested1.sql tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/LimitNode.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/query/TestGroupByQuery.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/PlannerUtil.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/engine/parser/TestHiveConverter.java tajo-algebra/src/main/java/org/apache/tajo/algebra/Aggregation.java tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testWhereClauseJoin6.sql tajo-core/tajo-core-backend/src/test/resources/queries/TestJoinQuery/testJoinRefEval.sql tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/AlgebraVisitor.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/physical/AggregationExec.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/logical/NodeType.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GreedyFragmentScheduleAlgorithm.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/master/GlobalEngine.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/eval/EvalTreeUtil.java tajo-core/tajo-core-backend/src/main/java/org/apache/tajo/engine/planner/rewrite/ProjectionPushDownRule.java tajo-core/tajo-core-backend/src/test/java/org/apache/tajo/worker/dataserver/TestHttpDataServer.java
        Hide
        hyunsik Hyunsik Choi added a comment -

        committed.

        Show
        hyunsik Hyunsik Choi added a comment - committed.

          People

          • Assignee:
            hyunsik Hyunsik Choi
            Reporter:
            hyunsik Hyunsik Choi
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development