You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by hy...@apache.org on 2014/05/20 20:46:46 UTC

[48/48] git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo into window_function

Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/tajo into window_function

Conflicts:
	CHANGES
	tajo-algebra/src/main/java/org/apache/tajo/algebra/Expr.java


Project: http://git-wip-us.apache.org/repos/asf/tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/6771d20e
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/6771d20e
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/6771d20e

Branch: refs/heads/window_function
Commit: 6771d20e847e7edf8754fe3b2652725cd09e2313
Parents: 39d4f2d d0528d1
Author: Hyunsik Choi <hy...@apache.org>
Authored: Wed May 21 03:33:28 2014 +0900
Committer: Hyunsik Choi <hy...@apache.org>
Committed: Wed May 21 03:33:28 2014 +0900

----------------------------------------------------------------------
 .travis.yml                                     |   33 +
 BUILDING                                        |   62 +
 BUILDING.txt                                    |   60 -
 CHANGES                                         | 1221 ++++++++++++++++++
 CHANGES.txt                                     | 1127 ----------------
 LICENSE                                         |  317 +++++
 LICENSE.txt                                     |  317 -----
 NOTICE                                          |   10 +
 NOTICE.txt                                      |   10 -
 README                                          |   17 +-
 dev-support/travis-install-dependencies.sh      |   39 +
 pom.xml                                         |  134 +-
 tajo-algebra/pom.xml                            |   27 +-
 .../org/apache/tajo/algebra/Aggregation.java    |    6 +
 .../org/apache/tajo/algebra/AlterTable.java     |    8 +
 .../apache/tajo/algebra/AlterTablespace.java    |    5 +
 .../apache/tajo/algebra/BetweenPredicate.java   |    8 +-
 .../org/apache/tajo/algebra/BinaryOperator.java |    4 +
 .../apache/tajo/algebra/CaseWhenPredicate.java  |    6 +
 .../java/org/apache/tajo/algebra/CastExpr.java  |    3 +
 .../apache/tajo/algebra/ColumnDefinition.java   |    4 +
 .../tajo/algebra/ColumnReferenceExpr.java       |    4 +
 .../org/apache/tajo/algebra/CreateDatabase.java |   21 +
 .../org/apache/tajo/algebra/CreateTable.java    |   65 +
 .../org/apache/tajo/algebra/DataTypeExpr.java   |    5 +
 .../org/apache/tajo/algebra/DateLiteral.java    |    3 +
 .../java/org/apache/tajo/algebra/DateValue.java |    5 +
 .../org/apache/tajo/algebra/DropDatabase.java   |    7 +-
 .../java/org/apache/tajo/algebra/DropTable.java |    5 +
 .../apache/tajo/algebra/ExistsPredicate.java    |    3 +
 .../main/java/org/apache/tajo/algebra/Expr.java |   20 +-
 .../org/apache/tajo/algebra/FunctionExpr.java   |    8 +-
 .../tajo/algebra/GeneralSetFunctionExpr.java    |    3 +
 .../java/org/apache/tajo/algebra/Having.java    |    3 +
 .../org/apache/tajo/algebra/InPredicate.java    |    4 +
 .../java/org/apache/tajo/algebra/Insert.java    |    9 +
 .../apache/tajo/algebra/IntervalLiteral.java    |   50 +
 .../apache/tajo/algebra/IsNullPredicate.java    |    3 +
 .../main/java/org/apache/tajo/algebra/Join.java |    6 +
 .../org/apache/tajo/algebra/JsonHelper.java     |    5 +-
 .../java/org/apache/tajo/algebra/Limit.java     |    3 +
 .../org/apache/tajo/algebra/LiteralValue.java   |   26 +-
 .../java/org/apache/tajo/algebra/NamedExpr.java |    3 +
 .../java/org/apache/tajo/algebra/OpType.java    |    3 +-
 .../tajo/algebra/PatternMatchPredicate.java     |    4 +
 .../org/apache/tajo/algebra/Projection.java     |    5 +-
 .../tajo/algebra/QualifiedAsteriskExpr.java     |    3 +
 .../java/org/apache/tajo/algebra/Relation.java  |    4 +
 .../org/apache/tajo/algebra/RelationList.java   |    3 +
 .../org/apache/tajo/algebra/ScalarSubQuery.java |    4 -
 .../java/org/apache/tajo/algebra/Selection.java |    3 +
 .../org/apache/tajo/algebra/SetOperation.java   |    3 +
 .../org/apache/tajo/algebra/SignedExpr.java     |    3 +
 .../tajo/algebra/SimpleTableSubQuery.java       |    4 -
 .../main/java/org/apache/tajo/algebra/Sort.java |    6 +
 .../tajo/algebra/TablePrimarySubQuery.java      |    4 +
 .../org/apache/tajo/algebra/TimeLiteral.java    |    3 +
 .../java/org/apache/tajo/algebra/TimeValue.java |    6 +
 .../apache/tajo/algebra/TimestampLiteral.java   |    4 +
 .../org/apache/tajo/algebra/UnaryOperator.java  |    3 +
 .../org/apache/tajo/algebra/ValueListExpr.java  |    3 +
 .../java/org/apache/tajo/algebra/TestExpr.java  |   43 +
 tajo-catalog/pom.xml                            |   38 +-
 tajo-catalog/tajo-catalog-client/pom.xml        |   26 +-
 tajo-catalog/tajo-catalog-common/pom.xml        |   26 +-
 .../org/apache/tajo/catalog/CatalogUtil.java    |   20 +-
 .../org/apache/tajo/catalog/DDLBuilder.java     |    3 +-
 .../org/apache/tajo/catalog/FunctionDesc.java   |    2 +-
 .../java/org/apache/tajo/catalog/Options.java   |  155 ---
 .../java/org/apache/tajo/catalog/TableDesc.java |    5 +-
 .../java/org/apache/tajo/catalog/TableMeta.java |   19 +-
 .../tajo/catalog/json/TableMetaAdapter.java     |   10 +-
 .../src/main/proto/CatalogProtos.proto          |   10 +-
 .../apache/tajo/catalog/TestKeyValueSet.java    |   64 +
 .../org/apache/tajo/catalog/TestOptions.java    |   63 -
 tajo-catalog/tajo-catalog-drivers/pom.xml       |    8 +-
 .../tajo-catalog-drivers/tajo-hcatalog/pom.xml  |    2 +-
 .../tajo/catalog/store/HCatalogStore.java       |   25 +-
 .../tajo/catalog/store/TestHCatalogStore.java   |   38 +-
 tajo-catalog/tajo-catalog-server/pom.xml        |    2 +-
 .../tajo/catalog/store/AbstractDBStore.java     |   11 +-
 .../org/apache/tajo/catalog/TestCatalog.java    |   16 +-
 .../src/test/resources/log4j.properties         |    2 +-
 tajo-client/pom.xml                             |   27 +-
 .../apache/tajo/cli/ConnectDatabaseCommand.java |   11 +-
 .../tajo/cli/DefaultTajoCliOutputFormatter.java |  189 +++
 .../org/apache/tajo/cli/DescTableCommand.java   |    6 +-
 .../tajo/cli/ExecExternalShellCommand.java      |   12 +-
 .../java/org/apache/tajo/cli/ParsedResult.java  |   10 +-
 .../java/org/apache/tajo/cli/SimpleParser.java  |  179 ++-
 .../main/java/org/apache/tajo/cli/TajoCli.java  |  270 ++--
 .../apache/tajo/cli/TajoCliOutputFormatter.java |   98 ++
 .../org/apache/tajo/client/QueryStatus.java     |    9 +
 .../java/org/apache/tajo/client/TajoAdmin.java  |   58 +-
 .../java/org/apache/tajo/client/TajoClient.java |   94 +-
 .../java/org/apache/tajo/client/TajoDump.java   |    2 +-
 .../org/apache/tajo/jdbc/TajoResultSetBase.java |    2 +-
 tajo-client/src/main/proto/ClientProtos.proto   |    7 +-
 tajo-client/src/main/resources/log4j.properties |    4 +-
 tajo-common/pom.xml                             |   28 +-
 tajo-common/src/main/java/log4j.properties      |    2 +-
 .../java/org/apache/tajo/conf/TajoConf.java     |    8 +-
 .../java/org/apache/tajo/datum/BitDatum.java    |    2 +-
 .../java/org/apache/tajo/datum/BlobDatum.java   |    2 +-
 .../org/apache/tajo/datum/BooleanDatum.java     |   11 +-
 .../java/org/apache/tajo/datum/CharDatum.java   |    2 +-
 .../java/org/apache/tajo/datum/DateDatum.java   |   79 +-
 .../main/java/org/apache/tajo/datum/Datum.java  |   24 +-
 .../org/apache/tajo/datum/DatumFactory.java     |   24 +-
 .../java/org/apache/tajo/datum/Float4Datum.java |   37 +-
 .../java/org/apache/tajo/datum/Float8Datum.java |    9 +-
 .../java/org/apache/tajo/datum/Inet4Datum.java  |    2 +-
 .../java/org/apache/tajo/datum/Int2Datum.java   |    9 +-
 .../java/org/apache/tajo/datum/Int4Datum.java   |    9 +-
 .../java/org/apache/tajo/datum/Int8Datum.java   |   12 +-
 .../org/apache/tajo/datum/IntervalDatum.java    |  434 +++++++
 .../java/org/apache/tajo/datum/NullDatum.java   |    4 +-
 .../java/org/apache/tajo/datum/TextDatum.java   |    4 +-
 .../java/org/apache/tajo/datum/TimeDatum.java   |   35 +-
 .../org/apache/tajo/datum/TimestampDatum.java   |   60 +-
 .../datum/exception/InvalidCastException.java   |   33 -
 .../exception/InvalidOperationException.java    |   42 -
 .../tajo/exception/InvalidCastException.java    |   36 +
 .../exception/InvalidOperationException.java    |   42 +
 .../java/org/apache/tajo/json/DatumAdapter.java |    8 +
 .../java/org/apache/tajo/util/KeyValueSet.java  |  155 +++
 .../main/java/org/apache/tajo/util/TUtil.java   |   33 +
 .../org/apache/tajo/util/TimeStampUtil.java     |    1 -
 .../src/main/proto/PrimitiveProtos.proto        |    9 +
 tajo-common/src/test/java/log4j.properties      |    2 +-
 .../org/apache/tajo/datum/TestDateDatum.java    |    2 +-
 .../apache/tajo/datum/TestIntervalDatum.java    |  199 +++
 .../org/apache/tajo/datum/TestTimeDatum.java    |    2 +-
 .../apache/tajo/datum/TestTimestampDatum.java   |    5 +-
 tajo-core/pom.xml                               |   66 +-
 .../org/apache/tajo/engine/parser/SQLLexer.g4   |    1 +
 .../org/apache/tajo/engine/parser/SQLParser.g4  |    7 +
 tajo-core/src/main/java/log4j.properties        |    4 +-
 .../apache/tajo/engine/eval/AlgebraicUtil.java  |  261 ++--
 .../tajo/engine/eval/BasicEvalNodeVisitor.java  |   78 +-
 .../tajo/engine/eval/BetweenPredicateEval.java  |   13 +-
 .../org/apache/tajo/engine/eval/BinaryEval.java |  126 +-
 .../apache/tajo/engine/eval/CaseWhenEval.java   |   20 +
 .../org/apache/tajo/engine/eval/CastEval.java   |   29 +-
 .../org/apache/tajo/engine/eval/EvalNode.java   |   74 +-
 .../apache/tajo/engine/eval/EvalTreeUtil.java   |   86 +-
 .../org/apache/tajo/engine/eval/EvalType.java   |   44 +
 .../tajo/engine/eval/InvalidCastException.java  |   36 -
 .../org/apache/tajo/engine/eval/IsNullEval.java |    8 +-
 .../org/apache/tajo/engine/eval/NotEval.java    |   50 +-
 .../tajo/engine/eval/PartialBinaryExpr.java     |   13 +-
 .../tajo/engine/eval/RowConstantEval.java       |   10 +
 .../org/apache/tajo/engine/eval/SignedEval.java |   47 +-
 .../tajo/engine/eval/SimpleEvalNodeVisitor.java |  173 +++
 .../org/apache/tajo/engine/eval/UnaryEval.java  |   96 ++
 .../tajo/engine/function/datetime/AddDays.java  |   65 +
 .../engine/function/datetime/AddMonths.java     |   64 +
 .../tajo/engine/function/datetime/ToDate.java   |   71 +
 .../tajo/engine/function/math/RoundFloat8.java  |   92 ++
 .../tajo/engine/parser/HiveQLAnalyzer.java      |    3 +-
 .../apache/tajo/engine/parser/SQLAnalyzer.java  |   13 +-
 .../tajo/engine/planner/AlgebraVisitor.java     |    1 +
 .../tajo/engine/planner/BaseAlgebraVisitor.java |    9 +-
 .../engine/planner/BasicLogicalPlanVisitor.java |   12 +
 .../planner/ExplainLogicalPlanVisitor.java      |    6 +
 .../tajo/engine/planner/ExprAnnotator.java      |  302 ++++-
 .../tajo/engine/planner/ExprNormalizer.java     |   20 +-
 .../tajo/engine/planner/ExprsVerifier.java      |   45 +-
 .../tajo/engine/planner/LogicalPlanVisitor.java |    3 +
 .../tajo/engine/planner/LogicalPlanner.java     |   68 +-
 .../tajo/engine/planner/NamedExprsManager.java  |    2 +-
 .../engine/planner/PhysicalPlannerImpl.java     |   66 +
 .../apache/tajo/engine/planner/PlannerUtil.java |   14 +-
 .../engine/planner/PreLogicalPlanVerifier.java  |   23 -
 .../tajo/engine/planner/enforce/Enforcer.java   |   38 +
 .../engine/planner/global/GlobalPlanner.java    |   73 +-
 .../global/builder/DistinctGroupbyBuilder.java  |  476 +++++++
 .../engine/planner/logical/CreateTableNode.java |    4 +-
 .../planner/logical/DistinctGroupbyNode.java    |  203 +++
 .../engine/planner/logical/GroupbyNode.java     |   42 +
 .../tajo/engine/planner/logical/JoinNode.java   |    3 +-
 .../tajo/engine/planner/logical/NodeType.java   |    1 +
 .../planner/logical/PersistentStoreNode.java    |   10 +-
 .../engine/planner/logical/join/JoinGraph.java  |    5 +-
 .../DistinctGroupbyHashAggregationExec.java     |  388 ++++++
 .../DistinctGroupbySortAggregationExec.java     |  158 +++
 .../engine/planner/physical/EvalExprExec.java   |   22 +-
 .../planner/physical/ExternalSortExec.java      |    3 +-
 .../planner/physical/HashAggregateExec.java     |    8 +-
 .../planner/physical/SortAggregateExec.java     |    8 +-
 .../engine/planner/physical/StoreTableExec.java |    7 +-
 .../rewrite/BasicQueryRewriteEngine.java        |    4 +-
 .../planner/rewrite/FilterPushDownRule.java     |   24 +-
 .../rewrite/PartitionedTableRewriter.java       |    9 +-
 .../planner/rewrite/ProjectionPushDownRule.java |   19 +-
 .../apache/tajo/engine/query/QueryContext.java  |    6 +-
 .../tajo/engine/query/QueryUnitRequest.java     |    6 +-
 .../tajo/engine/query/QueryUnitRequestImpl.java |   39 +-
 .../tajo/master/DefaultTaskScheduler.java       |   14 +-
 .../apache/tajo/master/FetchScheduleEvent.java  |    8 +-
 .../org/apache/tajo/master/GlobalEngine.java    |  228 +++-
 .../apache/tajo/master/LazyTaskScheduler.java   |   16 +-
 .../apache/tajo/master/ScheduledFetches.java    |   11 +-
 .../tajo/master/TajoMasterClientService.java    |   25 +-
 .../apache/tajo/master/YarnContainerProxy.java  |  414 ------
 .../tajo/master/YarnTaskRunnerLauncherImpl.java |  200 ---
 .../tajo/master/event/QueryStartEvent.java      |   10 +-
 .../apache/tajo/master/querymaster/Query.java   |   15 +-
 .../master/querymaster/QueryInProgress.java     |   37 +-
 .../tajo/master/querymaster/QueryInfo.java      |   12 +-
 .../master/querymaster/QueryJobManager.java     |   88 +-
 .../tajo/master/querymaster/QueryMaster.java    |    2 +-
 .../querymaster/QueryMasterManagerService.java  |    8 +-
 .../master/querymaster/QueryMasterTask.java     |  145 ++-
 .../tajo/master/querymaster/QueryUnit.java      |  114 +-
 .../master/querymaster/QueryUnitAttempt.java    |   14 +-
 .../tajo/master/querymaster/Repartitioner.java  |  224 ++--
 .../tajo/master/querymaster/SubQuery.java       |    9 +-
 .../master/rm/YarnRMContainerAllocator.java     |  237 ----
 .../tajo/master/rm/YarnTajoResourceManager.java |  349 -----
 .../org/apache/tajo/master/session/Session.java |    8 +-
 .../tajo/scheduler/QuerySchedulingInfo.java     |   55 +
 .../org/apache/tajo/scheduler/Scheduler.java    |   41 +
 .../tajo/scheduler/SchedulingAlgorithms.java    |   47 +
 .../tajo/scheduler/SimpleFifoScheduler.java     |  147 +++
 .../java/org/apache/tajo/util/ClassUtil.java    |    7 +-
 .../java/org/apache/tajo/util/IndexUtil.java    |   19 +-
 .../java/org/apache/tajo/worker/FetchImpl.java  |  201 +++
 .../java/org/apache/tajo/worker/Fetcher.java    |    2 +-
 .../tajo/worker/TajoWorkerClientService.java    |   11 +-
 .../main/java/org/apache/tajo/worker/Task.java  |   54 +-
 .../apache/tajo/worker/TaskAttemptContext.java  |   18 +-
 .../tajo/worker/YarnResourceAllocator.java      |  117 --
 .../src/main/proto/TajoWorkerProtocol.proto     |   44 +-
 tajo-core/src/main/resources/log4j.properties   |    4 +-
 .../resources/webapps/admin/catalogview.jsp     |   22 +-
 .../src/main/resources/webapps/admin/query.jsp  |   10 +-
 .../main/resources/webapps/worker/queryunit.jsp |    9 +-
 tajo-core/src/test/java/log4j.properties        |    4 +-
 .../apache/tajo/LocalTajoTestingUtility.java    |    3 +-
 .../java/org/apache/tajo/QueryTestCaseBase.java |   24 +-
 .../org/apache/tajo/TajoTestingCluster.java     |   12 +-
 .../test/java/org/apache/tajo/TpchTestBase.java |    4 +-
 .../tajo/cli/TestDefaultCliOutputFormatter.java |  139 ++
 .../tajo/cli/TestExecExternalShellCommand.java  |    4 +-
 .../org/apache/tajo/cli/TestSimpleParser.java   |  120 +-
 .../java/org/apache/tajo/cli/TestTajoCli.java   |  230 ++++
 .../apache/tajo/engine/eval/ExprTestBase.java   |    7 +-
 .../apache/tajo/engine/eval/TestEvalTree.java   |   34 +-
 .../tajo/engine/eval/TestEvalTreeUtil.java      |   12 +-
 .../tajo/engine/eval/TestIntervalType.java      |   96 ++
 .../tajo/engine/eval/TestSQLExpression.java     |  784 ++++++++++-
 .../engine/function/TestDateTimeFunctions.java  |   44 +
 .../tajo/engine/function/TestMathFunctions.java |   27 +-
 .../tajo/engine/planner/TestExprAnnotator.java  |   46 +
 .../engine/planner/TestLogicalOptimizer.java    |    5 +-
 .../tajo/engine/planner/TestLogicalPlanner.java |    5 +-
 .../tajo/engine/planner/TestPlannerUtil.java    |    5 +-
 .../planner/physical/TestPhysicalPlanner.java   |    5 +-
 .../apache/tajo/engine/query/TestCTASQuery.java |    4 +-
 .../tajo/engine/query/TestGroupByQuery.java     |   63 +-
 .../tajo/engine/query/TestInsertQuery.java      |  304 +++--
 .../apache/tajo/engine/query/TestJoinQuery.java |   41 +-
 .../tajo/engine/query/TestNullValues.java       |   10 +-
 .../tajo/engine/query/TestSelectQuery.java      |   23 +
 .../apache/tajo/engine/query/TestSortQuery.java |   16 +
 .../tajo/engine/query/TestTableSubQuery.java    |   21 +
 .../tajo/jdbc/TestTajoDatabaseMetaData.java     |  298 +++--
 .../java/org/apache/tajo/jdbc/TestTajoJdbc.java |   13 +
 .../apache/tajo/master/TestGlobalPlanner.java   |   88 ++
 .../apache/tajo/master/TestRepartitioner.java   |   21 +-
 .../tajo/scheduler/TestFifoScheduler.java       |  110 ++
 .../org/apache/tajo/storage/TestRowFile.java    |    3 +-
 .../tajo/worker/TestRangeRetrieverHandler.java  |    5 +-
 tajo-core/src/test/resources/log4j.properties   |    4 +-
 .../testDistinctAggregation7.sql                |    6 +
 .../testDistinctAggregation_case1.sql           |    7 +
 .../testDistinctAggregation_case2.sql           |    8 +
 .../testDistinctAggregation_case3.sql           |    9 +
 .../testDistinctAggregation_case4.sql           |   10 +
 .../testDistinctAggregation_case5.sql           |   10 +
 .../testDistinctAggregation_case6.sql           |   12 +
 .../testDistinctAggregation_case7.sql           |    9 +
 .../testGroupByWithSameConstantKeys1.sql        |    1 +
 .../TestGroupByQuery/testGroupbyWithJson.json   |   98 ++
 .../TestInsertQuery/full_table_csv_ddl.sql      |    1 +
 .../TestInsertQuery/full_table_parquet_ddl.sql  |    1 +
 .../queries/TestInsertQuery/table1_ddl.sql      |    1 +
 .../TestInsertQuery/testInsertOverwrite.sql     |    1 +
 .../testInsertOverwriteLocation.sql             |    1 +
 ...stInsertOverwriteLocationWithCompression.sql |    1 +
 .../testInsertOverwriteSmallerColumns.sql       |    1 +
 .../testInsertOverwriteWithAsterisk.sql         |    1 +
 .../testInsertOverwriteWithCompression.sql      |    1 +
 .../testInsertOverwriteWithCompression_ddl.sql  |    4 +
 .../testInsertOverwriteWithDatabase.sql         |    1 +
 .../testInsertOverwriteWithTargetColumns.sql    |    1 +
 .../testJoinOnMultipleDatabasesWithJson.json    |  210 +++
 .../queries/TestJoinQuery/testJoinWithJson.json |   84 ++
 .../TestJoinQuery/testJoinWithJson2.json        |  219 ++++
 ...SelectSameConstantsWithDifferentAliases2.sql |    1 +
 .../TestSelectQuery/testSelectWithJson.json     |   74 ++
 .../queries/TestSelectQuery/testWhereCond2.sql  |    8 +
 .../queries/TestSortQuery/testSortWithJson.json |   65 +
 .../queries/TestSortQuery/testTopkWithJson.json |   51 +
 .../testGroupbySubqueryWithJson.json            |   59 +
 .../testJoinSubqueryWithJson.json               |  108 ++
 .../testDistinctAggregation7.result             |    3 +
 .../testDistinctAggregation_case1.result        |    4 +
 .../testDistinctAggregation_case2.result        |    4 +
 .../testDistinctAggregation_case3.result        |    4 +
 .../testDistinctAggregation_case4.result        |    5 +
 .../testDistinctAggregation_case5.result        |    5 +
 .../testDistinctAggregation_case6.result        |    5 +
 .../testDistinctAggregation_case7.result        |    5 +
 .../testGroupByWithSameConstantKeys1.result     |    5 +
 .../TestGroupByQuery/testGroupbyWithJson.result |    5 +
 ...sertOverwriteWithAsteriskUsingParquet.result |    4 +
 ...ertOverwriteWithAsteriskUsingParquet2.result |    4 +
 .../testJoinOnMultipleDatabasesWithJson.result  |    5 +
 .../TestJoinQuery/testJoinWithJson.result       |   27 +
 .../TestJoinQuery/testJoinWithJson2.result      |    5 +
 ...ectSameConstantsWithDifferentAliases2.result |    7 +
 .../TestSelectQuery/testSelectWithJson.result   |    7 +
 .../TestSelectQuery/testWhereCond2.result       |    5 +
 .../TestSortQuery/testSortWithJson.result       |    5 +
 .../TestSortQuery/testTopkWithJson.result       |    5 +
 .../testGroupbySubqueryWithJson.result          |    3 +
 .../testJoinSubqueryWithJson.result             |    4 +
 .../results/TestTajoCli/testDescTable.result    |   29 +
 .../testLocalQueryWithoutFrom.result            |    8 +
 .../TestTajoDatabaseMetaData/getSchemas1.result |    3 +
 .../TestTajoDatabaseMetaData/getSchemas2.result |    3 +
 .../getTableTypes.result                        |    3 +
 .../TestTajoDatabaseMetaData/getTables1.result  |    4 +-
 .../TestTajoDatabaseMetaData/getTables2.result  |    4 +-
 tajo-dist/pom.xml                               |    3 +-
 tajo-dist/src/main/bin/tajo-dump                |   22 +
 tajo-dist/src/main/bin/tajo_dump                |   22 -
 .../src/main/resources/assemblies/tajo-src.xml  |   54 +
 tajo-docs/BUILDING                              |   23 +
 tajo-docs/BUILDING.txt                          |   23 -
 tajo-docs/pom.xml                               |    2 +-
 .../main/sphinx/backup_and_restore/catalog.rst  |   10 +-
 .../configuration/catalog_configuration.rst     |    8 +-
 .../configuration/configuration_defaults.rst    |    3 +-
 .../configuration/worker_configuration.rst      |   11 +-
 .../main/sphinx/getting_started/building.rst    |    2 +-
 .../getting_started/downloading_source.rst      |    6 +-
 .../main/sphinx/getting_started/first_query.rst |    2 +-
 .../sphinx/getting_started/prerequisites.rst    |    2 +-
 tajo-docs/src/main/sphinx/index.rst             |    7 +-
 tajo-docs/src/main/sphinx/jdbc_driver.rst       |   82 +-
 tajo-jdbc/pom.xml                               |    3 +-
 .../apache/tajo/jdbc/TajoDatabaseMetaData.java  |  147 ++-
 .../java/org/apache/tajo/jdbc/TajoDriver.java   |    4 +-
 .../apache/tajo/jdbc/TajoMetaDataResultSet.java |   16 +-
 .../apache/tajo/jdbc/TajoPreparedStatement.java |    2 +-
 tajo-jdbc/src/main/resources/log4j.properties   |    4 +-
 tajo-maven-plugins/pom.xml                      |    2 +-
 tajo-project/pom.xml                            |   41 +-
 tajo-project/src/site/apt/index.apt             |   10 +-
 tajo-project/src/site/markdown/downloads.md     |   32 +-
 .../markdown/releases/0.8.0/announcement.md     |   99 ++
 .../site/resources/releases/0.8.0/relnotes.html |  788 +++++++++++
 tajo-project/src/site/site.xml                  |   12 +-
 tajo-rpc/pom.xml                                |   26 +-
 .../org/apache/tajo/rpc/BlockingRpcClient.java  |   32 +-
 .../org/apache/tajo/rpc/BlockingRpcServer.java  |    2 -
 .../org/apache/tajo/rpc/NettyClientBase.java    |   36 +-
 .../org/apache/tajo/rpc/NettyServerBase.java    |    2 -
 .../apache/tajo/rpc/RemoteCallException.java    |    9 +-
 .../org/apache/tajo/rpc/RpcChannelFactory.java  |    4 +-
 .../apache/tajo/rpc/TajoServiceException.java   |   58 +
 tajo-rpc/src/main/proto/RpcProtos.proto         |    4 +-
 tajo-rpc/src/test/java/log4j.properties         |    2 +-
 .../org/apache/tajo/rpc/TestBlockingRpc.java    |   40 +-
 tajo-storage/pom.xml                            |   29 +-
 .../java/org/apache/tajo/storage/RowFile.java   |    9 +-
 .../org/apache/tajo/storage/RowStoreUtil.java   |   12 +
 .../org/apache/tajo/storage/StorageUtil.java    |    5 +-
 .../storage/TextSerializerDeserializer.java     |    6 +
 .../java/org/apache/tajo/storage/VTuple.java    |   10 +-
 .../tajo/storage/parquet/ParquetScanner.java    |    3 +-
 .../tajo/storage/parquet/TajoReadSupport.java   |   16 +-
 .../tajo/storage/parquet/TajoWriteSupport.java  |    4 -
 .../org/apache/tajo/storage/v2/DiskUtil.java    |    2 +-
 .../apache/tajo/storage/v2/ScanScheduler.java   |    3 +
 .../apache/tajo/storage/TestMergeScanner.java   |    4 +-
 .../org/apache/tajo/storage/TestStorages.java   |   15 +-
 .../apache/tajo/storage/v2/TestStorages.java    |    4 +-
 tajo-yarn-pullserver/pom.xml                    |   27 +-
 392 files changed, 13546 insertions(+), 5490 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tajo/blob/6771d20e/CHANGES
----------------------------------------------------------------------
diff --cc CHANGES
index 0000000,97d6c9c..6f0ad06
mode 000000,100644..100644
--- a/CHANGES
+++ b/CHANGES
@@@ -1,0 -1,1217 +1,1221 @@@
+ Tajo Change Log
+ 
+ Release 0.9.0 - unreleased
+ 
+   NEW FEATURES
+ 
+     TAJO-494: Extend TajoClient to run a query with a plan context serialized 
+     as the JSON form. (jihoon)
+ 
+     TAJO-761: Implements INTERVAL type. (Hyoungjun Kim via hyunsik)
+ 
+     TAJO-790: Implements ADD_MONTHS() function. (Hyoungjun Kim via hyunsik)
+ 
+     TAJO-791: Implements ADD_DAYS() function. (Hyoungjun Kim via hyunsik)
+ 
+   IMPROVEMENT
+ 
+     TAJO-811: add simple fifo scheduler support. (jinho)
+ 
+     TAJO-801: Multiple distinct should be supported. (Hyoungjun Kim via hyunsik)
+ 
+     TAJO-807: Implement Round(numeric, int) function.
+     (Seungun Choe via hyunsik)
+ 
+     TAJO-797: Implicit type conversion support. (hyunsik)
+ 
+     TAJO-804: Bump up Parquet version to 1.4.2. (hyunsik)
+ 
+     TAJO-425: RAWFILE_SYNC_INTERVAL has not default value. (jinho)
+ 
+     TAJO-617: Rename BIN/tajo_dump BIN/tajo-dump. (jinho)
+ 
+     TAJO-789: Improve shuffle URI. (jinho)
+ 
+     TAJO-769: A minor improvements for HCatalogStore (Fengdong Yu via hyunsik)
++    
++  SUB TASKS:
++
++    TAJO-757: Add parser rule and algebraic expression for window function. (hyunsik)
+ 
+     TAJO-734: Arrange TajoCli output message. (hyoungjunkim via jihoon)
+ 
+     TAJO-758: Supports parameter values in the SQL file.
+     (Hyoungjun Kim via hyunsik)
+ 
+   BUG FIXES
+ 
+     TAJO-821: IllegalStateException occurs when a NettyClientBase object is created 
+     within single thread. (hyoungjunkim via jinho)
+ 
+     TAJO-816: NULL delimiter doesn't apply with HCatalogStore. (jaehwa)
+ 
+     TAJO-823: Missing INET4 handling in DatumFactory.cast(). (jihoon)
+ 
+     TAJO-803: INSERT INTO without FROM throws ClassCastException.
+     (Hyoungjun Kim via hyunsik)
+ 
+     TAJO-813: CLI should support comment character with multi-line query.
+     (Hyoungjun Kim via hyunsik)
+ 
+     TAJO-800: CLI's meta command should be aware "TABLE_NAME" style. 
+     (Hyoungjun Kim via hyunsik)
+ 
+     TAJO-795: PlannerUtil::joinJoinKeyForEachTable need to handle theta-join. (jaehwa)
+ 
+     TAJO-792: Insert table error with database name. 
+     (Hyoungjun Kim via hyunsik)
+ 
+     TAJO-806: CreateTableNode in CTAS uses a wrong schema as output schema and 
+     table schema. (hyunsik)
+ 
+     TAJO-805: Multiple constant in selection emits some columns. 
+     (Hyoungjun Kim via hyunsik)
+ 
+     TAJO-799: Local query without FROM throws IllegalArgumentException in 
+     CLI. (Hyoungjun Kim via hyunsik)
+ 
+     TAJO-802: No partition columns in WEB catalog page. 
+     (Hyoungjun Kim via hyunsik)
+ 
+     TAJO-766: Test failures in TestExecExternalShellCommand. (jihoon)
+ 
+   TASKS
+ 
+     TAJO-817: tajo-core should not skip deploy. (hyunsik)
+ 
+     TAJO-814: Set up Travis CI builds. (hyunsik)
+ 
+     TAJO-820: Add missing license header to 0.8.0 release announcement. 
+     (hyunsik)    
+ 
+     TAJO-810: TAJO-810: Update Tajo site for 0.8.0 release. (hyunsik)
+ 
+     TAJO-605: Rename Options to KeyValueList. (jinho)
+ 
+   SUB TASKS
+ 
+     TAJO-783: Remove yarn-related code from tajo-core. (hyunsik)
+ 
+ Release 0.8.0
+ 
+   NEW FEATURES
+ 
+     TAJO-711: Add Avro storage support. (David Chen via hyunsik)
+ 
+     TAJO-746: Implements function COALESCE. (hyoungjunkim via hyunsik)
+ 
+     TAJO-616: SequenceFile support. (jaehwa)
+ 
+     TAJO-480: Umbrella Jira for adding ALTER TABLE statement.
+     (Alvin Henrick via hyunsik)
+ 
+     TAJO-378: Implement concat_ws function. (Seungun Choe via jaehwa)
+ 
+     TAJO-377: Implement concat function (Seungun Choe via jaehwa)
+ 
+     TAJO-30: Parquet Integration. (David Chen via hyunsik)
+ 
+     TAJO-353: Add Database support to Tajo. (hyunsik)
+ 
+     TAJO-574: Add a sort-based physical executor for column partition store.
+     (hyunsik)
+ 
+     TAJO-569: Add max(TEXT) function. (hyunsik)
+ 
+     TAJO-449: Implement extract() function. (Keuntae Park)
+ 
+     TAJO-482: Implements listing functions and describing a specified
+     function. (hyoungjunkim via hyunsik)
+ 
+     TAJO-498: Implement digest(text, text) function.
+     (DaeMyung Kang via hyunsik)
+ 
+     TAJO-122: Add EXPLAIN clause to show a logical plan.
+     (DaeMyung Kang via hyunsik)
+ 
+     TAJO-438: Date literal support. (Jae Young Lee via jihoon)
+ 
+     TAJO-474: Add query admin utility. (DaeMyung Kang via hyunsik)
+ 
+     TAJO-460: CTAS statement should support partitioned table.
+     (Min Zhou via hyunsik)
+ 
+     TAJO-381: Implement find_in_set function. (Jae Young Lee via hyunsik)
+ 
+     TAJO-439: Time literal support. (DaeMyung Kang via jihoon)
+ 
+     TAJO-437: Timestamp literal support. (hyunsik)
+ 
+     TAJO-382: Implement encode/decode functions. (Seungun Choe via jihoon)
+ 
+     TAJO-436: Implement ceiling(FLOAT8) function. (DaeMyung Kang via hyunsik)
+ 
+     TAJO-338 : Add Query Optimization Part for Column-Partitioned Tables.
+     (hyunsik)
+ 
+     TAJO-333: Add metric system to Tajo. (hyoungjunkim via jihoon)
+ 
+     TAJO-413: Implement pi function. (DaeMyung Kang via jihoon)
+ 
+     TAJO-61: Implement Time Datum Type. (DaeMyung Kang via hyunsik)
+ 
+     TAJO-60: Implement Date Datum Type. (hyunsik)
+ 
+     TAJO-400: Implement pow(float8, float8) function. (DaeMyung Kang via jaehwa)
+ 
+     TAJO-384: to_bin(). (Jae Young Lee via jaehwa)
+    
+     TAJO-62: Implement Timestamp Datum type. (hyunsik)
+ 
+     TAJO-307: Implement chr(int) function. (DaeMyung Kang via hyunsik)
+ 
+     TAJO-365: Implement degrees/radians function. (DaeMyung Kang via hyunsik)
+ 
+     TAJO-368: Implement quote_ident function. (Seungun Choe via hyunsik)
+ 
+     TAJO-392: Implement cbrt function. (DaeMyung Kang via hyunsik)
+ 
+     TAJO-394: Implement abs function. (DaeMyung Kang via hyunsik)
+ 
+     TAJO-395: Implement exp function. (DaeMyung Kang via hyunsik)
+ 
+     TAJO-396: Implement sqrt function. (DaeMyung Kang via hyunsik)
+ 
+     TAJO-397: Implement sign function. (DaeMyung Kang via hyunsik)
+ 
+     TAJO-343: Implement locate function. (KyoungBok Lee via hyunsik)
+ 
+     TAJO-364: Implement mod/div function. (DaeMyung Kang via jaehwa)
+ 
+     TAJO-361: Implement rpad function. (Seungun Choe via jaehwa)
+ 
+     TAJO-359: Implement lpad function. (Seungun Choe via jaehwa)
+ 
+     TAJO-306: Implement ascii(string) function. (SeongHwa Ahn via jaehwa)
+ 
+     TAJO-354: Fix invalid type to valid type for udfs(bit_length/char_length).
+     (DaeMyung Kang via hyunsik)
+ 
+     TAJO-366: Implement trigonometric functions. (Jae Young Lee via jihoon)
+ 
+     TAJO-358: Implement initcap(string) function. (Seungun Choe via hyunsik)
+ 
+     TAJO-355: Implement repeat(text,int) function. (DaeMyung Kang via jaehwa)
+ 
+     TAJO-339: Implement sin( x ) - returns the sine of x (x is in radians). 
+     (Jae Young Lee via jaehwa)
+ 
+     TAJO-348: Implement octet_length(text). (DaeMyung Kang via jaehwa)
+ 
+     TAJO-357: Fix invalid filename TestMethFunction to TestMathFUnction.
+     (DaeMyung Kang via hyunsik)
+ 
+     TAJO-352: Implement right/left(text, size) function. 
+     (DaeMyung Kang via hyunsik)
+ 
+     TAJO-346: Implement hex function. (DaeMyung Kang via hyunsik)
+ 
+     TAJO-349: Implement md5(text). (DaeMyung Kang via hyunsik)
+ 
+     TAJO-351: Implement reverse(text). (DaeMyung Kang via hyunsik)
+ 
+     TAJO-342: Implement strpos(string, substring) function. 
+     (hyoungjunkim via hyunsik)
+ 
+     TAJO-350: Implement round, floor, ceil. (hyoungjunkim via hyunsik)
+ 
+     TAJO-207: Implement bit_length(string) function. (DaeMyung Kang via jihoon)
+ 
+     TAJO-341: Implement substr function. (hyoungjunkim via hyunsik)
+ 
+     TAJO-308: Implement length(string) function. (hyoungjunkim via hyunsik)
+ 
+     TAJO-200: RCFile compatible to apache hive. (jinho)
+ 
+     TAJO-176: Implement Tajo JDBC Driver. (Keuntae Park via jihoon)
+ 
+     TAJO-16: Enable Tajo catalog to access Hive metastore. (jaehwa)
+ 
+     TAJO-285: Add CREATE TABLE... BY PARTITION statement to parser. (hyunsik)
+ 
+     TAJO-267: Implement equals() and deepEquals() functions at LogicalNode.
+     (jihoon)
+ 
+   IMPROVEMENTS
+ 
+     TAJO-737: Change version message when daemon starts up. (hyunsik)
+ 
+     TAJO-768: Improve the log4j configuration. (hyoungjunkim via jinho)
+ 
+     TAJO-755: ALTER TABLESPACE LOCATION support. (hyunsilk)
+     
+     TAJO-732: Support executing LINUX shell command and HDFS command.
+     (hyoungjun kim via hyunsik)
+ 
+     TAJO-745: APIs in TajoClient and JDBC should be case sensitive.
+ 
+     TAJO-743: Change the default resource allocation policy of leaf tasks. (jinho)
+ 
+     TAJO-717: Improve file splitting for large number of splits. (jinho)
+ 
+     TAJO-356: Improve TajoClient to directly get query results in the first request.
+     (hyunsik)
+ 
+     TAJO-728: Supports expression IN statement. (hyunsik)
+ 
+     TAJO-725: Broadcast JOIN should supports multiple tables. (hyoungjunkim via jaehwa)
+ 
+     TAJO-735: Remove multiple SLF4J bindings message. (hyoungjunkim via hyunsik)
+ 
+     TAJO-709: Add .reviewboardrc and use rbt instead of post-review.
+     (David Chen via hyunsik)
+ 
+     TAJO-714: Enable setting Parquet tuning parameters. (David Chen via hyunsik)
+ 
+     TAJO-691: HashJoin or HashAggregation is too slow if there is many unique 
+     keys. (hyoungjunkim via hyunsik)
+ 
+     TAJO-685: Add prerequisite to the document of network functions and 
+     operators. (jihoon)
+ 
+     TAJO-644: Support quoted identifiers. (hyunsik)
+ 
+     TAJO-553: Add a method to the TajoClient to get finished query lists.
+     (Ilhyun Suh via jihoon)
+ 
+     TAJO-670: Change daemon's hostname to canonical hostname 
+     (hyoungjunkim via hyunsik)
+ 
+     TAJO-638: ExecutionBlock must be sorted by start time in querydetail.jsp.
+     (hyoungjunkim via hyunsik)
+ 
+     TAJO-589: Add fine grained progress indicator for each task.
+     (hyoungjunkim via hyunsik)
+ 
+     TAJO-614: Explaning a logical node should use ExplainLogicalPlanVisitor.
+     (hyunsik)
+ 
+     TAJO-610: Refactor Column class. (hyunsik)
+ 
+     TAJO-601: Improve distinct aggregation query processing. (hyunsik)
+ 
+     TAJO-305: Implement killQuery feature. (hyunsik)
+ 
+     TAJO-598: Refactoring Tajo RPC. (jinho)
+ 
+     TAJO-592: HCatalogStore should supports RCFile and default hive field 
+     delimiter. (jaehwa)
+ 
+     TAJO-548: Investigate frequent young gc. (Min Zhou via hyunsik)
+ 
+     TAJO-584: Improve distributed merge sort. (hyunsik)
+ 
+     TAJO-36: Improve ExternalSortExec with N-merge sort and final pass
+     omission. (hyunsik)
+ 
+     TAJO-564: Show execution block's progress in querydetail.jsp.
+     (hyoungjunkim via hyunsik)
+ 
+     TAJO-569: Add max(TEXT) function. (hyunsik)
+ 
+     TAJO-497: Rearrange reserved and non-reserved keywords. (sirpkt via hyunsik)
+ 
+     TAJO-475: Table partition catalog recap. (Min Zhou and hyunsik)
+ 
+     TAJO-539: Change some EvalNode::eval to directly return a Datum value.
+     (hyunsik)
+ 
+     TAJO-543: InsertNode and CreateTableNode should play their roles. (hyunsik)
+ 
+     TAJO-409: Add explored and explained annotations to Tajo function system.
+     (SeongHwa Ahn via hyunsik)
+ 
+     TAJO-499: Shorten the length of classpath in shell command.
+     (hyoungjunkim via hyunsik)
+ 
+     TAJO-483: Add getParentCount(), getParents(), getParent() functions to DirectedGraph. 
+     (jihoon)
+ 
+     TAJO-433: Improve integration with Hive. (jaehwa)
+ 
+     TAJO-471: Extract ColumnPartitonUtils class for ColumnPartition rewrite.
+     (DaeMyung Kang via hyunsik)
+ 
+     TAJO-476: Add a test development kit for unit tests based on executions
+     of queries. (hyunsik)
+ 
+     TAJO-464: Rename the name 'partition', actually meaning shuffle to
+     'shuffle'. (hyunsik)
+ 
+     TAJO-385: Refactoring TaskScheduler to assign multiple fragments. (jihoon)
+ 
+     TAJO-468: Implements task's detail info page in WEB UI.
+     (hyoungjunkim via hyunsik)
+ 
+     TAJO-466: Supporting TIME types in DatumFactory.createFromInt8. (DaeMyung Kang via jihoon)
+ 
+     TAJO-458: Visit methods of LogicalPlanVisitor should take a query block
+     as parameter. (hyunsik)
+ 
+     TAJO-456: Separate tajo-jdbc and tajo-client from tajo-core-backend. (hyunsik)
+ 
+     TAJO-432: Add shuffle phase for column-partitioned table store. (Min Zhou via jihoon)
+ 
+     TAJO-135: Bump up hadoop to 2.2.0. (jihoon)
+ 
+     TAJO-435: Improve intermediate file. (jinho)
+ 
+     TAJO-424: Make serializer/deserializer configurable in CSVFile. (jinho)
+ 
+     TAJO-419: Add missing visitor methods of AlgebraVisitor and
+     BaseAlgebraVisitor. (hyunsik)
+ 
+     TAJO-421: Improve split for compression file. (jinho)
+ 
+     TAJO-327: Add testcase to verify TAJO-16. (jaehwa)
+ 
+     TAJO-405: Improve HCatalogStore to support partitioned table. (jaehwa)
+ 
+     TAJO-336: Separate catalog stores into separate modules. (jaehwa)
+ 
+     TAJO-329: Implement physical operator to store in column-partitioned table.
+     (jaehwa)
+ 
+     TAJO-391: Change the default type of real values from FLOAT4 to FLOAT8 
+     when parsing the user queries. (DaeMyung Kang via jihoon)
+ 
+     TAJO-304: drop table command should not remove data files in default.
+     (hyunsik)
+ 
+     TAJO-316: Improve GreedyHeuristicJoinOrderAlgorithm to deal with
+     non-commutative joins. (hyunsik)
+ 
+     TAJO-371: Increase the default value of worker memory. (jihoon)
+ 
+     TAJO-284: Add table partitioning entry to Catalog. (jaehwa)
+ 
+     TAJO-317: Improve TajoResourceManager to support more elaborate resource 
+     management. (Keuntae Park via jihoon)
+ 
+     TAJO-314: Make TaskScheduler be pluggable. (jihoon)
+ 
+     TAJO-325: QueryState.NEW and QueryState.INIT should be combined into one
+     state. (Min Zhou via hyunsik)
+ 
+     TAJO-313: Support deprecated variables in CatalogConstants. (jaehwa)
+ 
+     TAJO-310: Make the DataLocation class as a separate class and move it to 
+     the tajo-core-storage package. (jihoon)
+ 
+     TAJO-311: Improve Hive dependency. (jaehwa)
+ 
+     TAJO-309: Remove unused fields in FileFragment. (jihoon)
+ 
+     TAJO-297: Rename JDBC variables in CatalogConstants to be more generic. 
+     (jaehwa)
+ 
+     TAJO-287: Improve Fragment to be more generic. (hyunsik)
+ 
+     TAJO-274: Maintaining connectivity to Tajo master regardless of the restart
+     of the Tajo master. (Keuntae Park via hyunsik)
+ 
+     TAJO-287: Refactor TableDesc, TableMeta, and Fragment. (hyunsik)
+ 
+     TAJO-275: Separating QueryMaster and TaskRunner roles in worker.
+     (Keuntae Park via jihoon)
+ 
+   BUG FIXES
+ 
+     TAJO-787: FilterPushDownRule::visitSubQuery does not consider aliased columns. (jaehwa)
+ 
+     TAJO-786: TajoDataMetaDatabase::getSchemas creates invalid MetaDataTuple.
+     (hyunsik)
+ 
+     TAJO-652: logical planner cannot handle alias on partition columns.
+     (Hyoungjun Kim via hyunsik)
+ 
+     TAJO-675: maximum frame size of frameDecoder should be increased. (jinho)
+ 
+     TAJO-748: Shuffle output numbers of join may be inconsistent. (jaehwa)
+ 
+     TAJO-777: Partition column in function parameter occurs NPE.
+     (Hyoungjun Kim via hyunsik)
+ 
+     TAJO-763: Out of range problem in utc_usec_to(). (Ilhyun Suh via hyunsik)
+ 
+     TAJO-741: GreedyHeuristicJoinOrderAlgorithm removes some join pairs. (jaehwa)
+ 
+     TAJO-772: TajoDump cannot dump upper/lower mixed case database names.
+     (hyunsik)
+ 
+     TAJO-765: Incorrect Configuration Classpaths. (jinho)
+ 
+     TAJO-563: INSERT OVERWRITE should not remove data before query success.
+     (hyunsik)
+ 
+     TAJO-738: NPE occur when failed in QueryMaster's GlobalPlanner.build().
+     (hyoungjunkim via hyunsik)
+ 
+     TAJO-739: A subquery with the same column alias caused planning error.
+     (hyoungjunkim via hyunsik)
+ 
+     TAJO-729: PreLogicalPlanVerifier verifies distinct aggregation functions
+     incorrectly. (hyunsik)
+ 
+     TAJO-719: JUnit test failures. (jinho)
+ 
+     TAJO-713: Missing INET4 in UniformRangePartition. (jihoon)
+ 
+     TAJO-718: A group-by clause with the same columns but aliased causes
+     planning error. (hyunsik)
+ 
+     TAJO-679: TimestampDatum, TimeDatum, DateDatum should be able to be
+     compared with NullDatum. (Alvin Henrick via jihoon)
+ 
+     TAJO-716: Using column names actually aliased in aggregation functions
+     can cause planning error. (hyunsik)
+ 
+     TAJO-698: Error occurs when FUNCTION and IN statement are used together.
+     (hyunsik)
+ 
+     TAJO-692: Missing Null handling for INET4 in RowStoreUtil. (jihoon)
+ 
+     TAJO-712: Fix some bugs after database is supported. (hyunsik)
+ 
+     TAJO-701: Invalid bytes when creating BlobDatum with offset. (jinho)
+ 
+     TAJO-708: Test failure after a successful test. (jihoon)
+ 
+     TAJO-705: CTAS always stores tables with CSV storage type into catalog.
+     (jinho)
+ 
+     TAJO-693: StatusUpdateTransition in QueryUnitAttempt handles TA_UPDATE 
+     incorrectly. (hyunsik)
+ 
+     TAJO-687: TajoMaster should pass tajoConf to create catalogServer. 
+     (DaeMyung Kang via jihoon)
+ 
+     TAJO-690: infinite loop occurs when rack task is assigning. (jinho)
+ 
+     TAJO-689: NoSuchElementException occurs during assigning the leaf tasks. 
+     (jinho)
+ 
+     TAJO-651: HcatalogStore should support (de)serialization of RCFile. (jinho)
+ 
+     TAJO-647: Work unbalance on disk scheduling of DefaultScheduler. (jinho)
+ 
+     TAJO-612: Missing INET4 type in SQLParser. (jihoon)
+ 
+     TAJO-672: Wrong progress status when overwrites to partition table.
+     (hyoungjunkim via hyunsik)
+ 
+     TAJO-663: CREATE TABLE USING RAW doesn't throw ERROR. (jaehwa)
+ 
+     TAJO-665: sort buffer size must be dealt as long type values. 
+     (hyoungjunkim via hyunsik)
+ 
+     TAJO-427: Empty table makes IndexOutOfBoundsException at LEFT OUTER JOIN 
+     clause. (jaehwa)
+ 
+     TAJO-650: Repartitioner::scheduleHashShuffledFetches should adjust the
+     number of tasks. (hyunsik)
+ 
+     TAJO-648: TajoWorker does not send correct QM rpc and client rpc ports
+     via heartbeat. (hyunsik)
+ 
+     TAJO-653: RCFileAppender throws IOException. (jinho)
+ 
+     TAJO-641: NPE in HCatalogStore.addTable(). (jaehwa)
+ 
+     TAJO-646: TajoClient is blocked while main thread finished.
+     (hyoungjunkim via jinho)
+ 
+     TAJO-645: Task.Reporter can cause NPE during reporting. (hyunsik)
+ 
+     TAJO-630: QueryMasterTask never finished when Internal error occurs.
+     (hyunsik)
+ 
+     TAJO-638: QueryUnitAttempt causes Invalid event error: TA_UPDATE at
+     TA_ASSIGNED. (hyunsik)
+ 
+     TAJO-640: In inner join clause, empty table can cause a error by order-by
+     clause. (jaehwa)
+ 
+     TAJO-635: Improve tests of query semantic verification. (hyunsik)
+ 
+     TAJO-620: A join query can cause IndexOutOfBoundsException if one of
+     tables is empty. (jaehwa)
+ 
+     TAJO-628: The second stage of distinct aggregation can be scheduled to
+     only one node. (hyunsik)
+ 
+     TAJO-619: SELECT count(1) after joins on text keys causes wrong plans.
+     (hyunsik)
+ 
+     TAJO-403: HiveQLAnalyzer should supports standard function in the GROUP BY
+     Clause. (jaehwa)
+ 
+     TAJO-594: MySQL store doesn't work. (Yongjun Park via jaehwa)
+ 
+     TAJO-590: Rename HiveConverter to HiveQLAnalyzer. (jaehwa)
+ 
+     TAJO-575: Worker's env.jsp has wrong URL which go to worker's index.jsp.
+     (hyoungjunkim via jaehwa)
+ 
+     TAJO-609: PlannerUtil::getRelationLineage ignores PartitionedTableScanNode.
+     (hyunsik)
+ 
+     TAJO-606: Statemachine visualization fails. (Min Zhou via hyunsik)
+ 
+     TAJO-595: The same expressions without different alias are not allowed.
+     (hyunsik)
+ 
+     TAJO-554: LogicalPlanner should allow additional expressions with asterisk
+     in select list. (jihoon)
+ 
+     TAJO-593: outer groupby and groupby in derived table causes only one
+     shuffle output number. (hyunsik)
+ 
+     TAJO-583: Broadcast join does not work on partitioned tables. (hyunsik)
+ 
+     TAJO-588: In some case, leaf task of DefaultTaskScheduler are not
+     distributed execution. (jinho)
+ 
+     TAJO-586: containFunction shouldn't throw NoSuchFunctionException. (jinho)
+ 
+     TAJO-582: Invalid split calculation. (jinho)
+ 
+     TAJO-581: Inline view on column partitioned table causes NPE. (hyunsik)
+ 
+     TAJO-577: Support S3FileSystem split. (Yongjun Park via jihoon)
+ 
+     TAJO-568: Union query with the same alias names cause NPE. (hyunsik)
+ 
+     TAJO-570: InvalidOperationException in outer join with constant values.
+     (hyunsik)
+ 
+     TAJO-506: RawFile cannot support DATE type. (jinho)
+ 
+     TAJO-566: BIN/TAJO_DUMP makes wrong ddl script. (hyoungjunkim via hyunsik)
+ 
+     TAJO-567: Expression projection bugs. (hyunsik)
+ 
+     TAJO-565: FilterPushDown rewrite rule does not push filters on
+     partitioned scans. (hyunsik)
+ 
+     TAJO-560: CTAS PARTITION BY with UNION can cause invalid global plan.
+     (hyunsik)
+ 
+     TAJO-558: HCatalogStore can't scan columns. (jaehwa)
+ 
+     TAJO-556: java.lang.NoSuchFieldError: IS_SECURITY_ENABLED. (jaehwa)
+ 
+     TAJO-372: When an exception except for network issues occurs, the
+     operation should not be repeated. (hyunsik)
+ 
+     TAJO-552: Fix Bug verify-protocbuf.sh runs with bash.
+     (DaeMyung Kang via jihoon)
+ 
+     TAJO-551: Fix bug getFunction can get wrong function that have invalid 
+     parameters. (DaeMyung Kang via jihoon)
+ 
+     TAJO-544: Thread pool abusing. (Min Zhou via hyunsik)
+ 
+     TAJO-493: maven pom.xml should enforce protobuf 2.5. (jaehwa)
+ 
+     TAJO-360: If there is no matched function, catalog causes NPE.
+     (hyoungjunkim via hyunsik)
+ 
+     TAJO-537: After TAJO-522, still OutOfMemoryError: unable to create new
+     native thread. (Min Zhou  via hyunsik)
+ 
+     TAJO-522: OutOfMemoryError: unable to create new native thread.
+     (hyoungjunkim via hyunsik)
+ 
+     TAJO-518: tajo-algebra and ProjectionPushDownRule code cleanup. (hyunsik)
+ 
+     TAJO-503: HCatalogStore can't scan several hive databases. (jaehwa)
+ 
+     TAJO-502: Jenkins build is failing. (jinho)
+ 
+     TAJO-485: 'CREATE TABLE AS' does not work properly with partition. (jinho)
+ 
+     TAJO-488: Data fetcher doesn't close small file in shuffle. (jinho)
+ 
+     TAJO-496: java.lang.NoSuchFieldError: IS_SECURITY_ENABLED when debugging
+     tajo. (Min Zhou via hyunsik)
+ 
+     TAJO-490: Tajo can't use 'dfs.nameservices' based on namenode ha mode. 
+     (jaehwa)
+ 
+     TAJO-477: Rename killQuery of QMClientProtocol to closeQuery. (hyunsik)
+ 
+     TAJO-484: Fix bug [: !=: unary operator expected when execute start-tajo.sh.
+     (DaeMyung Kang via jihoon)
+ 
+     TAJO-479: Rename obsolete name 'partition' to 'shuffle and fix the broken
+     taskdetail.jsp. (hyunsik).
+ 
+     TAJO-470: Fetcher's finished time and file length is changed in WEB UI.
+     (hyoungjunkim via hyunsik)
+ 
+     TAJO-469: CTAS with no column definition will get  a NPE.
+     (Min Zhou via hyunsik)
+ 
+     TAJO-467: Too many open FD when master failed. (hyoungjunkim via hyunsik)
+ 
+     TAJO-455: Throw PlanningException when Creating table with Partition
+     exception COLUMN. (DaeMyung Kang via hyunsik)
+ 
+     TAJO-452: Timstamp literal with fractional seconds results in 
+     java.lang.ArrayIndexOutOfBoundsException. (Keuntae Park via hyunsik)
+ 
+     TAJO-454: pass invalid argument to DateTime constructor in LogicalPlanner.
+     (DaeMyung Kang via hyunsik)
+ 
+     TAJO-451: Update documentation and version constant for Tajo 0.8.
+     (hyunsik)
+ 
+     TAJO-448: Timestamp should be based on unixtime. (hyunsik)
+     
+     TAJO-450: Incorrect inet4datum comparison. (jinho)
+ 
+     TAJO-182: Comparison of primitive values including null value should
+     return NULL. (hyunsik)
+ 
+     TAJO-431: HCatalogStore can't write any data using INSERT OVERWRITE clause.
+     (jaehwa)
+ 
+     TAJO-442: Cast operator with nested functions causes NPE. (hyunsik)
+ 
+     TAJO-426: HCatalogStore created partitions automatically. (jaehwa)
+ 
+     TAJO-418: sort operator after inline views consisting of unions can cause 
+     an incorrect distributed plan. (hyunsik)
+ 
+     TAJO-417: TestSQLExpression.testCastFromTable causes unit test failure.
+     (hyunsik)
+ 
+     TAJO-415: Some complex queries causes NPE and unlimited recursions.
+     (hyunsik)
+ 
+     TAJO-414: Fix bug of bit operations in decode() method of DateDatum class.
+     (Keuntae Park via jihoon)
+ 
+     TAJO-407: PostgreSQL-style cast should be higher operator priority.
+     (hyunsik)
+ 
+     TAJO-411: Fix Bug: createFromInt8's DATE type should be TIMESTAMP.
+     (DaeMyung Kang via jihoon)
+ 
+     TAJO-390: Queries on history are expired ealier than a given expiry time.
+     (hyoungjunkim via hyunsik)
+ 
+     TAJO-410: A query with a combination of general and distinct aggregation
+     functions fails. (hyunsik)
+ 
+     TAJO-404: Tajo does not recognize boolean literal. (hyunsik)
+ 
+     TAJO-344: Tajo cannot recognize negative numeric expressions. (hyunsik)
+ 
+     TAJO-393: Unit tests must use test-data directory. (hyunsik)
+ 
+     TAJO-388: limit clause does not work properly. (hyunsik)
+ 
+     TAJO-389: The LazyTuple does not work when number format exception occurs 
+     in text deserializer. (jinho)
+ 
+     TAJO-387: Query is hanging when errors occurs in Query or SubQuery class.
+     (hyunsik)
+ 
+     TAJO-268: Temporal files should be removed after query is finished. (jinho)
+ 
+     TAJO-292: Too many intermediate partition files. (jinho)
+ 
+     TAJO-375: TajoClient can't get result data when different os user
+     (hyoungjunkim via hyunsik)
+ 
+     TAJO-347: Fix bug when to call function with insensitive function name.
+     (DaeMyung Kang via hyunsik)
+ 
+     TAJO-345: MergeScanner should support projectable storages. (jihoon)
+ 
+     TAJO-290: TajoDataType.Type.NULL should be NULL_TYPE. (DaeMyung Kang via 
+     jinho)
+ 
+     TAJO-332: Invalid row count of CSVScanner. (jinho)
+ 
+     TAJO-326: In ExecutionBlock, isRoot() and isLeafBlock() return invalid 
+     values. (jihoon)
+ 
+     TAJO-296: Late registration of Tajo workers. (hyoungjunkim via hyunsik)
+ 
+     TAJO-321: Invalid split file of compressed text file. (jinho)
+ 
+     TAJO-295: ConcurrentModificationException in TaskScheduler. (jinho)
+ 
+     TAJO-293: querymasters directory not found in single node setup. (hyunsik)
+ 
+   TASKS
+ 
+     TAJO-517: Publish Tajo jar to a public maven repository. (hyunsik)
+ 
+     TAJO-788: Update Tajo documentation and README, and BUILDING. (hyunsik)
+ 
+     TAJO-752: Escalate sub modules in tajo-core into the top-level modules.
+     (hyunsik)
+ 
+     TAJO-753: Clean up of maven dependencies. (jinho)
+ 
+     TAJO-730: Update Tajo site to reflect graduation. (hyunsik)
+ 
+     TAJO-529: Fix warnings in tajo-algebra. (jaehwa)
+ 
+     TAJO-700: Update site, wikis, pom.xml and other resources to point to the 
+     new repository location. (jihoon)
+ 
+     TAJO-694: Bump up hadoop to 2.3.0. (jinho)
+ 
+     TAJO-684: Add functions about time. (Alvin Henrick via jihoon)
+ 
+     TAJO-669: Add cluster setup documentation. (hyunsik)
+ 
+     TAJO-681: Embed sphinx rtd theme into tajo-docs. (hyunsik)
+ 
+     TAJO-657: Missing table stat in RCFile. (jinho)
+ 
+     TAJO-659: Add Tajo JDBC documentation. (hyunsik)
+ 
+     TAJO-642: Change tajo documentation tool to sphinx. (hyunsik)
+ 
+     TAJO-632: add intellij idea projects files into git ignore.
+     (Min Zhou via hyunsik)
+ 
+     TAJO-218: HiveQLAnalyzer has to support cast expression. (jaehwa)
+ 
+     TAJO-621: Add DOAP file for Tajo. (hyunsik)
+ 
+     TAJO-622: Add TM mark and navigation links required for TLP project.
+     (hyunsik)
+ 
+     TAJO-578: Update configuration for tajo-site.xml. (jaehwa)
+ 
+     TAJO-530: Fix warnings in tajo-catalog. (jaehwa)
+ 
+     TAJO-532: Fix warnings in tajo-common. (jinho)
+ 
+     TAJO-520: Move tajo-core-storage to tajo-storage. (jinho)
+ 
+     TAJO-536: Fix warnings in tajo-core-storage. (jinho)
+ 
+     TAJO-545: MySQLStore Documentation. (jaehwa)
+ 
+     TAJO-526: HCatalogStore Documentation. (jaehwa)
+ 
+     TAJO-535: Fix warnings in tajo-rpc. (jinho)
+ 
+     TAJO-531: Fix warnings in tajo-client. (jinho)
+ 
+     TAJO-478: Add request-patch-review.py that helps submitting patches to
+     jira and reviewboard. (hyunsik)
+ 
+     TAJO-508: Apply findbugs-excludeFilterFile to TajoQA. (jinho)
+ 
+     TAJO-457: Update committer list and contributor list. (hyunsik)
+ 
+     TAJO-166: Automatic precommit test using Jenkins. (hyunsik)
+ 
+     TAJO-322: Documentation by version. (hyunsik)
+ 
+     TAJO-320: Visualize Tajo statemachine. (Min Zhou via hyunsik)
+ 
+     TAJO-319: Update homepage and bump tajo version to 0.8. (hyunsik)
+ 
+   SUB TASKS
+ 
+     TAJO-215: Catalog should allow compatible types when finding functions.
+     (Alvin Henrick via hyunsik)
+ 
+     TAJO-736: Add table management documentation. (hyunsik)
+ 
+     TAJO-602: WorkerResourceManager should be broke down into 3 parts.
+     (hyunsik)
+ 
+   TEST
+ 
+     TAJO-686: Integration test aborted. (jinho)
+ 
+ Release 0.2.0
+ 
+   NEW FEATURES
+ 
+     TAJO-260: Add between predicate. (hyunsik)
+ 
+     TAJO-208: Implement char_length(string) function. (hyunsik)
+ 
+     TAJO-99: Design the interface of join enumeration algorithm. (hyunsik)
+ 
+     TAJO-179: Support MySQL CatalogStore. (jinho)
+ 
+     TAJO-147: Implement trim(text), ltrim(text), and rtrim(text) function.
+     (hyunsik)
+ 
+     TAJO-148: Implement UPPER(text), LOWER(text) function. (hyunsik)
+ 
+     TAJO-220: Implement catalog dump feature. (hyunsik)
+ 
+     TAJO-216: Improve FilterPushDownRule and Implement physical operators 
+     for outer join. (camelia_c via hyunsik)
+ 
+     TAJO-211: Implement regexp_replace function. (hyunsik)
+ 
+     TAJO-212: Implement type cast expresion. (hyunsik)
+ 
+     TAJO-206: Implement String concatenation operator (||). (hyunsik)
+ 
+     TAJO-213: NULL characters in meta of csv table should be supported.
+     (jinho)    
+ 
+     TAJO-185: Implement split_part function. (hyunsik)
+ 
+     TAJO-193: Add string pattern matching operators. (hyunsik)
+ 
+     TAJO-101: HiveQL converter. (jaehwa)
+ 
+     TAJO-144: Implement INSERT OVERWRITE clause. (hyunsik)
+ 
+     TAJO-139: TAJO-139: In predicate support. (hyunsik)
+ 
+     TAJO-134: Support for compression/decompression of CSVFile. (jinho)
+ 
+     TAJO-59: Implement Char Datum Type. (jihoon)
+    
+     TAJO-96: Design and implement rewrite rule interface and the rewrite rule 
+     engine. (hyunsik)
+ 
+     TAJO-19: CREATE TABLE without external data should be supported. (jinho)
+ 
+     TAJO-57: Recognize Parser and Catalog Standard SQL data types. (hyunsik)
+ 
+     TAJO-33: Implement a basic query progress indicator. (hyunsik)
+ 
+   IMPROVEMENTS
+ 
+     TAJO-270: Boolean datum compatible to apache hive. (jinho)
+ 
+     TAJO-261: Rearrange default port numbers and config names. (hyunsik)
+ 
+     TAJO-236: Implement LogicalPlanVerifier to check if a logical plan is 
+     valid. (hyunsik)
+ 
+     TAJO-254: Refactor package names and class names to have proper names.
+     (add a missed changelog)
+ 
+     TAJO-255: Cleanup exceptions of engine. (hyunsik)
+ 
+     TAJO-253: Clean up tajo-default.xml in test resource. (hyunsik)
+ 
+     TAJO-239: Improving web UI. (Keuntae Park via hyunsik)
+ 
+     TAJO-232: Rename join operators and add other join operators to
+     PhysicalPlanner. (hyunsik)
+ 
+     TAJO-229: Implement JoinGraph to represent a graph of relation joins.
+     (hyunsik)
+ 
+     TAJO-223: Maximize disk read bandwidth utilization of StorageManagerV2 by
+     moving Tuple creation role to next(). (Keuntae Park via hyunsik)
+ 
+     TAJO-199: All relations in catalog must have data volume size. (hyunsik)
+ 
+     TAJO-224: Rearrange DataType enumeration and Refactor type systems.
+     (hyunsik)
+ 
+     TAJO-214: System should inquire finished query history after execution 
+     in web. (SeongHwa Ahn via hyunsik)
+ 
+     TAJO-145: count(distinct column) should be supported. (hyunsik)
+ 
+     TAJO-197: Implement Enforcer that forces physical planner to choose
+     specified algorithms. (hyunsik)
+ 
+     TAJO-194: LogicalNode should have an identifier to distinguish each
+     logical node instance. (hyunsik)
+ 
+     TAJO-183: Creating too many TableMetaProto objects might lead a potential 
+     memory leak. (jihoon)
+ 
+     TAJO-184: Refactor GlobalPlanner and global plan data structure. (hyunsik)
+ 
+     TAJO-119: Refactor and Improve Datum. (jinho)
+ 
+     TAJO-178: Implements StorageManager for scanning asynchronously. 
+     (hyoungjunkim via hyunsik)
+ 
+     TAJO-167: Implement GeneralSetFunctionExpr to represent all SQL standard
+     set functions. (hyunsik)
+ 
+     TAJO-149: Eliminate QueryConf and its file write. (hyunsik)
+ 
+     TAJO-143: Implement hash semi-join operator. (hyunsik)
+ 
+     TAJO-142: Implement hash anti-join operator. (hyunsik)
+ 
+     TAJO-94: Remove duplicate proto files. (hyunsik)
+ 
+     TAJO-141: Set on demand as the default cluster mode. (hyunsik)
+ 
+     TAJO-136: Broadcast join should be enabled. (hyunsik)
+ 
+     TAJO-127: Implement Tajo Resource Manager. (hyoungjunkim via hyunsik)
+ 
+     TAJO-84: Task scheduling with considering disk load balance. (jinho)
+ 
+     TAJO-123: Clean up the logical plan's json format. (hyunsik)
+ 
+     TAJO-129: Enable the constructor of NettyServerBase to take a service
+     name. (hyunsik)
+ 
+     TAJO-91: Launch QueryMaster on NodeManager per query. 
+     (hyoungjunkim via hyunsik)
+ 
+     TAJO-100: Port the parse error handling to the new parser. (jinho)
+ 
+     TAJO-121: Add LogicalPlanVisitor and Refactor LogicalOptimizer to use the
+     visitor. (hyunsik)
+ 
+     TAJO-118: Refactor and Improve text file Scanner. (jinho)
+ 
+     TAJO-95: Eliminate the lazy copy approach from the classes wrapping
+     protobuf-generated classes. (hyunsik)
+ 
+     TAJO-102: Add AlgebraVisitor and Refactor LogicalPlanner to use the visitor.
+     (hyunsik)
+ 
+     TAJO-87: Integration of tajo algebra module and SQL parser. (hyunsik)
+ 
+     TAJO-70: Refactor GlobalEngine to handle DDL statements. (hyunsik)
+ 
+     TAJO-86: Improved error messages in query analyzer. (jinho)
+ 
+     TAJO-85: Add an method of create(DataType, byte[]) to DatumFactory. (jihoon)
+ 
+     TAJO-79: Refactor and Improve TajoCli. (hyunsik)
+ 
+     TAJO-77: Rename TabletProto as FragmentProto in CatalogProtos.proto. 
+     (jihoon)
+ 
+     TAJO-22: The package prefix should be org.apache.tajo. (DaeMyung Kang via 
+     hyunsik)
+ 
+     TAJO-75: Separate SQL.g into SQLParser.g and SQLLexer.g. (hyunsik)
+ 
+     TAJO-74: Refactor parser rules of SQL.g. (hyunsik)
+ 
+     TAJO-7: Enabling TajoCli to take multiple lines as one statement. (jinho)
+ 
+     TAJO-72: Rename NQL.g to SQL.g. (hyunsik)
+ 
+     TAJO-71: Case-insensitive parser. (hyunsik)
+ 
+     TAJO-40: Adopt YarnClient to GlobalEngine. (jihoon)
+ 
+     TAJO-69: Add .reviewboardrc file to the ignore lists of Rat and .gitignore. 
+     (hyunsik)
+ 
+     TAJO-66: Support compiling and running Tajo with Java7 (Tejas Patil via 
+     hsaputra)
+ 
+     TAJO-51: Parallel Container Launch of TaskRunnerLauncherImpl. (hyunsik)
+     
+     TAJO-39 Remove the unused package tajo.engine.plan.global and all files 
+     inside the directory. (hsaputra)
+ 
+     TAJO-37: Remove obsolete classes WorkerEventDispatcher, WorkerEvent and 
+     WorkerEventType. (sunny.1324 via hyunsik)
+ 
+     TAJO-50: Cleanup SubQuery. (hyunsik)
+ 
+     TAJO-44: Adopt AMRMClient to RMContainerAllocator, RMCommunicator. (hyunsik)
+     
+     TAJO-42: Divide SubQuery into FSM and execution block parts. (hyunsik)
+ 
+     TAJO-32: Cleanup TaskRunner. (hyunsik)
+ 
+     TAJO-27: Modify the document links to point the wiki's ones. (hyunsik)
+     
+     TAJO-17: Improve the examples for jvm version and auxiliary service in 
+     getting_started.apt. (hyunsik)
+ 
+     TAJO-10: Modify git ignore to include Apache derby log file. (hsaputra)
+ 
+     TAJO-12: Add information in README on how to subscribe to mailing 
+     lists (mattmann, hyunsik)
+ 
+     TAJO-11: Update file README to reflect Apache incubation. (hyunsik)
+ 
+     TAJO-4: Update the project site. (hyunsik)
+ 
+     TAJO-2: remove all @author tags and update license header. (hyunsik)
+ 
+   BUG FIXES
+ 
+     TAJO-759: Fix findbug errors added recently. (hyunsik)
+ 
+     TAJO-754: failure of INSERT INTO may remove the target table.
+     (hyunsik)
+ 
+     TAJO-682: RangePartitionAlgorithm should be improved to handle empty
+     texts. (hyunsik)
+ 
+     TAJO-511: Sometimes, a query progress becomes higher than 100%. (jihoon)
+ 
+     TAJO-281: 'mvn package -Pdist' generates duplicate Tajo jar files.
+     (hyunsik)
+ 
+     TAJO-277: Infinite loop occurs when a table is empty. (jinho)
+ 
+     TAJO-273: NotEval incurs NPE with boolean column. (hyunsik)
+ 
+     TAJO-272: boolean test does not work correctly. (hyunsik)
+ 
+     TAJO-264: Remove hard-coded 'standby' mode. (jinho)
+ 
+     TAJO-262: Integration test hang on jenkins. (jinho)
+ 
+     TAJO-257: Unit tests occassionally fail. (hyunsik)
+ 
+     TAJO-169: the default TAJO_WORKER_STANDBY_MODE in tajo-env.sh is wrong. 
+     (hyunsik)
+ 
+     TAJO-231: In StorageManger v2, TestCSVCompression incurs unexpected end of 
+     stream occasionally. (hyunsik)
+ 
+     TAJO-250: QueryMaster must send the query finish heartbeat. (hyunsik)
+ 
+     TAJO-245: org.apache.tajo.algebra.FunctionExpr cannot be cast to 
+     org.apache.tajo.algebra.ColumnReferenceExpr. (hyunsik)
+ 
+     TAJO-243: The 'tajo_dump' does not include options of table. (jinho)
+ 
+     TAJO-244: assignToNonLeafTasks causes NPE occurs occasionally. (hyunsik)
+ 
+     TAJO-242: Enable omitted broadcast join feature after TAJO-184. (hyunsik)
+ 
+     TAJO-240: Reformat HiveConverter source code to match adopted conventions 
+     (jaehwa)   
+ 
+     TAJO-241: Does not reconnect the meta store. (jinho)
+ 
+     TAJO-226: Can't use group by column alias. (hyunsik)
+ 
+     TAJO-203: Field delimiter does not work correctly. (jinho)
+ 
+     TAJO-205: Repartitioner occasionally chooses a partition number as one.
+     (hyunsik)
+ 
+     TAJO-191: INSERT OVERWRITE INTO statement should follow the table meta in 
+     catalog. (jinho)
+ 
+     TAJO-198: The split function does not work properly. (jinho)
+ 
+     TAJO-187: The exception 'Some targets cannot be evaluated' is caused in 
+     nested joins. (hyunsik)
+ 
+     TAJO-46: The "having" clause does not work properly. (hyunsik)
+ 
+     TAJO-186: Improve column resolving method. (hyunsik)
+ 
+     TAJO-168: infinite loop occurs when QueryMaster is stopping. (jinho)
+ 
+     TAJO-180: Better error messages for 
+     StorageManager.listStatus$InvalidInputException. (hyunsik)
+ 
+     TAJO-177: Call by reference bug in MergeJoinExec. (jihoon)
+ 
+     TAJO-171: BitArray always returned false. (jinho)
+ 
+     TAJO-172: TajoWorker allocate wrong container slots.(jinho)
+ 
+     TAJO-174: SQL error handler sometimes occurred NPE. (jinho)
+ 
+     TAJO-170: mvn compile error when building tar file. (jaehwa)
+ 
+     TAJO-154: Query calculates wrong progress in multiple step queries.
+     (hyunsik)
+ 
+     TAJO-152: The tajo local directory path is mismatched in PullServer. 
+     (jihoon)
+ 
+     TAJO-80: Remove codes of legacy data paths. (jihoon)
+  
+     TAJO-159: QueryMaster cannot connect the remote CatalogServer. (hyunsik)
+ 
+     TAJO-158: Can't allocate worker when single SubQuery requests more than
+     cluster capacity. (hyoungjunkim via hyunsik)
+ 
+     TAJO-157: The CSVScanner.isSplittable() function does not work properly.
+     (jinho)
+ 
+     TAJO-156: BufferUnderflowException occurs during processing the 
+     intermediate file. (jinho)
+ 
+     TAJO-151: Multiple union queries within a table subquery causes NPE.
+     (hyunsik)
+ 
+     TAJO-137: Unreleased resources and wrong allocation requests in
+     TajoWorkerResourceManager. (hyoungjunkim via hyunsik)
+ 
+     TAJO-130: Same queryConf file conflicts. (jinho)
+ 
+     TAJO-82: NullPointerException occurs when Schema is converted as an array 
+     of columns. (jihoon)
+ 
+     TAJO-65: Invalid pom.xml configurations for source directories. 
+     (Takuya Ueshin via hyunsik)
+ 
+     TAJO-48: BufferUnderflowException occurs during the initialization of 
+     RowFile. (jihoon)
+ 
+     TAJO-58: Remove obsolete methods in GlobalPlanner. (hyunsik)
+ 
+     TAJO-54: SubQuery::allocateContainers() may ask 0 containers. (hyunsik)
+ 
+     TAJO-41: Storage handler name row in storage-default.xml must be rowfile. 
+     (hsaputra)
+ 
+     TAJO-47: RowFile has the duplicated initialization problem and unflipped 
+     ByteBuffer problem. (jihoon)
+ 
+     TAJO-38: Update class comment in TaskAttemptContext from Korean to English 
+     (hsaputra)
+ 
+     TAJO-15: The Integration test is getting hanged on Mac OS X. (hyunsik)
+ 
+     TAJO-8: MapReduce's ShuffleHandler and Tajo's PullServerAuxService conflict
+     each other. (jhkim)
+ 
+     TAJO-13: Update the groupId property in the pom.xml to use ASF org instead
+     of kr.ac.korea.dbserver (hsaputra)
+ 
+     TAJO-1: RCFileWrapper always reads whole columns regardless of the target 
+     schema. (jihoonson via hyunsik)
+ 
+     TAJO-6: Rename tajo.engine.function.builtin.NewSumInt to SumInt. (rsumbaly)
+ 
+     TAJO-21: CREATE EXTERNAL TABLE should support a file path. (JaeHwa Jung)
+ 
+   TASKS
+ 
+     TAJO-288: Correct NOTICE file and LICENSE.txt. (hyunsik)
+ 
+     TAJO-271: Add MIT license to NOTICE.txt and LICENSE.txt for jquery and 
+     jsPlumb. (hyunsik)
+ 
+     TAJO-265: Update installation guide and other documentation for 0.2
+     release. (hyunsik)
+ 
+     TAJO-252: Add DISCLAIMER file. (hyunsik)
+ 
+     TAJO-251: Rename the legacy name *.tql to *.sql. (hyunsik)

http://git-wip-us.apache.org/repos/asf/tajo/blob/6771d20e/tajo-algebra/src/main/java/org/apache/tajo/algebra/Expr.java
----------------------------------------------------------------------
diff --cc tajo-algebra/src/main/java/org/apache/tajo/algebra/Expr.java
index 0b8b1db,daf59b6..26e0831
--- a/tajo-algebra/src/main/java/org/apache/tajo/algebra/Expr.java
+++ b/tajo-algebra/src/main/java/org/apache/tajo/algebra/Expr.java
@@@ -24,7 -26,9 +26,9 @@@ import org.apache.tajo.algebra.LiteralV
  import java.lang.reflect.Type;
  
  public abstract class Expr implements JsonSerializable {
-   @SerializedName("type")
++  @Expose @SerializedName("type")
+   private static final String SERIALIZED_NAME_OF_OP_TYPE = "OpType";
 -
+   @Expose @SerializedName(SERIALIZED_NAME_OF_OP_TYPE)
    protected OpType opType;
  
  	public Expr(OpType opType) {

http://git-wip-us.apache.org/repos/asf/tajo/blob/6771d20e/tajo-algebra/src/main/java/org/apache/tajo/algebra/GeneralSetFunctionExpr.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tajo/blob/6771d20e/tajo-algebra/src/main/java/org/apache/tajo/algebra/OpType.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tajo/blob/6771d20e/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tajo/blob/6771d20e/tajo-core/src/main/antlr4/org/apache/tajo/engine/parser/SQLLexer.g4
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tajo/blob/6771d20e/tajo-core/src/main/antlr4/org/apache/tajo/engine/parser/SQLParser.g4
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tajo/blob/6771d20e/tajo-core/src/main/java/org/apache/tajo/engine/parser/HiveQLAnalyzer.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tajo/blob/6771d20e/tajo-core/src/main/java/org/apache/tajo/engine/parser/SQLAnalyzer.java
----------------------------------------------------------------------