tajo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TAJO-501) Rewrite the projection part of logical planning
Date Fri, 17 Jan 2014 10:15:20 GMT

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

Hudson commented on TAJO-501:
-----------------------------

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


> Rewrite the projection part of logical planning
> -----------------------------------------------
>
>                 Key: TAJO-501
>                 URL: https://issues.apache.org/jira/browse/TAJO-501
>             Project: Tajo
>          Issue Type: Improvement
>          Components: planner/optimizer
>            Reporter: Hyunsik Choi
>            Assignee: Hyunsik Choi
>            Priority: Critical
>             Fix For: 0.8-incubating
>
>         Attachments: TAJO-501.patch, TAJO-501_2.patch, TAJO-501_3.patch, TAJO-501_4.patch
>
>
> 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.
>   ** TAJO-422
> * other expressions except for column can not be used in order-by clause.
>   ** TAJO-444
> * 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.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message