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

Conflicts:
        
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java
        tajo-plan/src/main/java/org/apache/tajo/plan/LogicalPlanner.java


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

Branch: refs/heads/index_support
Commit: 8e52ed43a72a51f78dce1547cd642a24aa860c58
Parents: df2ff2d 5a97079
Author: Jihoon Son <[email protected]>
Authored: Wed Dec 31 19:51:10 2014 +0900
Committer: Jihoon Son <[email protected]>
Committed: Wed Dec 31 19:51:10 2014 +0900

----------------------------------------------------------------------
 CHANGES                                         |   5 +
 .../tajo/catalog/AbstractCatalogClient.java     | 152 ++++
 .../src/main/proto/CatalogProtocol.proto        |   9 +-
 .../org/apache/tajo/catalog/CatalogService.java |  37 +-
 .../java/org/apache/tajo/catalog/Schema.java    |  33 +-
 .../java/org/apache/tajo/catalog/TableDesc.java |   2 +-
 .../src/main/proto/CatalogProtos.proto          |  81 ++-
 .../tajo/catalog/store/HCatalogStore.java       |  53 +-
 .../org/apache/tajo/catalog/CatalogServer.java  | 247 +++++--
 .../dictionary/AbstractTableDescriptor.java     |  90 +++
 .../catalog/dictionary/ColumnDescriptor.java    |  47 ++
 .../dictionary/ColumnsTableDescriptor.java      |  48 ++
 .../dictionary/DatabasesTableDescriptor.java    |  47 ++
 .../dictionary/IndexesTableDescriptor.java      |  52 ++
 .../InfoSchemaMetadataDictionary.java           | 124 ++++
 .../dictionary/PartitionsTableDescriptor.java   |  48 ++
 .../catalog/dictionary/TableDescriptor.java     |  29 +
 .../dictionary/TableOptionsTableDescriptor.java |  46 ++
 .../dictionary/TableStatsTableDescriptor.java   |  46 ++
 .../dictionary/TablesTableDescriptor.java       |  49 ++
 .../dictionary/TablespacesTableDescriptor.java  |  48 ++
 .../tajo/catalog/store/AbstractDBStore.java     | 295 ++++++++
 .../apache/tajo/catalog/store/CatalogStore.java |  24 +
 .../org/apache/tajo/catalog/store/MemStore.java | 189 +++++
 .../org/apache/tajo/catalog/TestCatalog.java    |  15 +-
 .../java/org/apache/tajo/conf/TajoConf.java     |  20 +
 .../java/org/apache/tajo/util/ProtoUtil.java    |  19 +
 .../org/apache/tajo/util/ReflectionUtil.java    |  61 +-
 .../main/java/org/apache/tajo/util/TUtil.java   |  41 ++
 .../engine/codegen/ExecutorPreCompiler.java     |   8 +-
 .../engine/planner/PhysicalPlannerImpl.java     |  17 +-
 .../tajo/engine/planner/enforce/Enforcer.java   |  12 +-
 .../engine/planner/global/GlobalPlanner.java    |  36 +-
 .../global/builder/DistinctGroupbyBuilder.java  |  32 +-
 .../BaseGlobalPlanRewriteRuleProvider.java      |  39 +
 .../rewriter/GlobalPlanRewriteEngine.java       |  84 +++
 .../global/rewriter/GlobalPlanRewriteRule.java  |  49 ++
 .../rewriter/GlobalPlanRewriteRuleProvider.java |  33 +
 .../rewriter/GlobalPlanTestRuleProvider.java    |  44 ++
 .../rules/GlobalPlanEqualityTester.java         |  63 ++
 .../DistinctGroupbyFirstAggregationExec.java    |   2 +-
 .../DistinctGroupbyHashAggregationExec.java     |   4 +-
 .../DistinctGroupbySecondAggregationExec.java   |   2 +-
 .../DistinctGroupbySortAggregationExec.java     |   4 +-
 .../DistinctGroupbyThirdAggregationExec.java    |   2 +-
 .../apache/tajo/engine/query/TaskRequest.java   |   3 +-
 .../tajo/engine/query/TaskRequestImpl.java      |  28 +-
 .../utils/test/ErrorInjectionRewriter.java      |  10 +-
 .../tajo/master/DefaultTaskScheduler.java       |  12 +-
 .../org/apache/tajo/master/GlobalEngine.java    |   1 +
 .../NonForwardQueryResultFileScanner.java       | 164 +++++
 .../master/NonForwardQueryResultScanner.java    | 148 +---
 .../NonForwardQueryResultSystemScanner.java     | 616 ++++++++++++++++
 .../tajo/master/TajoMasterClientService.java    |   2 +-
 .../apache/tajo/master/exec/QueryExecutor.java  |  33 +-
 .../master/querymaster/QueryMasterTask.java     |   9 +-
 .../main/java/org/apache/tajo/worker/Task.java  |   4 +-
 .../src/main/proto/TajoWorkerProtocol.proto     |  14 +-
 .../org/apache/tajo/TajoTestingCluster.java     |  15 +-
 .../apache/tajo/engine/eval/ExprTestBase.java   |  14 +-
 .../tajo/engine/query/TestGroupByQuery.java     |  59 +-
 .../tajo/engine/query/TestSelectQuery.java      |  27 +-
 .../tajo/engine/query/TestTruncateTable.java    |   8 +-
 .../tajo/engine/query/TestWindowQuery.java      |   6 +-
 .../apache/tajo/master/TestGlobalPlanner.java   |   6 +-
 .../TestNonForwardQueryResultSystemScanner.java | 296 ++++++++
 .../org/apache/tajo/plan/LogicalOptimizer.java  |  52 +-
 .../tajo/plan/LogicalPlanPreprocessor.java      |   4 +-
 .../org/apache/tajo/plan/LogicalPlanner.java    |  16 +-
 .../main/java/org/apache/tajo/plan/Target.java  |  13 +-
 .../plan/expr/AggregationFunctionCallEval.java  |  38 +-
 .../org/apache/tajo/plan/expr/EvalNode.java     |  10 +-
 .../tajo/plan/expr/WindowFunctionEval.java      |  12 +
 .../tajo/plan/logical/AlterTableNode.java       |  10 +
 .../tajo/plan/logical/AlterTablespaceNode.java  |  13 +-
 .../apache/tajo/plan/logical/BinaryNode.java    |  16 +
 .../tajo/plan/logical/CreateDatabaseNode.java   |  10 +
 .../tajo/plan/logical/CreateTableNode.java      |  11 +-
 .../tajo/plan/logical/DistinctGroupbyNode.java  |  39 +-
 .../tajo/plan/logical/DropDatabaseNode.java     |  17 +-
 .../apache/tajo/plan/logical/DropTableNode.java |  10 +
 .../apache/tajo/plan/logical/EvalExprNode.java  |  12 +-
 .../apache/tajo/plan/logical/GroupbyNode.java   |  47 +-
 .../apache/tajo/plan/logical/InsertNode.java    |  15 +-
 .../apache/tajo/plan/logical/LogicalNode.java   |  16 +-
 .../org/apache/tajo/plan/logical/NodeType.java  |   6 +-
 .../tajo/plan/logical/ProjectionNode.java       |  12 +-
 .../apache/tajo/plan/logical/RelationNode.java  |   2 +-
 .../org/apache/tajo/plan/logical/ScanNode.java  |  13 +-
 .../tajo/plan/logical/SetSessionNode.java       |  22 +-
 .../tajo/plan/logical/StoreTableNode.java       |  11 +-
 .../tajo/plan/logical/TableSubQueryNode.java    |  12 +-
 .../tajo/plan/logical/TruncateTableNode.java    |  10 +
 .../org/apache/tajo/plan/logical/UnaryNode.java |  14 +
 .../apache/tajo/plan/logical/WindowSpec.java    |  57 +-
 .../tajo/plan/nameresolver/NameResolver.java    |   6 +-
 .../plan/nameresolver/ResolverByLegacy.java     |   2 +-
 .../rewrite/BaseLogicalPlanRewriteEngine.java   |  89 +++
 .../BaseLogicalPlanRewriteRuleProvider.java     |  59 ++
 .../plan/rewrite/BasicQueryRewriteEngine.java   |  72 --
 .../plan/rewrite/LogicalPlanRewriteEngine.java  |  33 +
 .../plan/rewrite/LogicalPlanRewriteRule.java    |  57 ++
 .../rewrite/LogicalPlanRewriteRuleProvider.java |  44 ++
 .../rewrite/LogicalPlanTestRuleProvider.java    |  44 ++
 .../tajo/plan/rewrite/QueryRewriteEngine.java   |  32 -
 .../apache/tajo/plan/rewrite/RewriteRule.java   |  56 --
 .../plan/rewrite/rules/FilterPushDownRule.java  |   9 +-
 .../rules/LogicalPlanEqualityTester.java        |  55 ++
 .../rewrite/rules/PartitionedTableRewriter.java |  44 +-
 .../rewrite/rules/ProjectionPushDownRule.java   |  11 +-
 .../tajo/plan/serder/EvalNodeDeserializer.java  | 301 ++++++++
 .../tajo/plan/serder/EvalNodeSerializer.java    | 397 ++++++++++
 .../plan/serder/EvalTreeProtoDeserializer.java  | 218 ------
 .../plan/serder/EvalTreeProtoSerializer.java    | 310 --------
 .../plan/serder/LogicalNodeDeserializer.java    | 678 +++++++++++++++++
 .../tajo/plan/serder/LogicalNodeSerializer.java | 724 +++++++++++++++++++
 .../apache/tajo/plan/serder/package-info.java   |  23 +
 .../org/apache/tajo/plan/util/PlannerUtil.java  |  37 +-
 .../plan/visitor/BasicLogicalPlanVisitor.java   |  39 +-
 .../plan/visitor/ExplainLogicalPlanVisitor.java |   5 +-
 .../tajo/plan/visitor/LogicalPlanVisitor.java   |   7 +-
 tajo-plan/src/main/proto/Plan.proto             | 363 ++++++++--
 .../org/apache/tajo/storage/StorageManager.java |   4 +-
 .../storage/hbase/AddSortForInsertRewriter.java |  10 +-
 .../tajo/storage/hbase/HBaseStorageManager.java |   6 +-
 125 files changed, 6820 insertions(+), 1298 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tajo/blob/8e52ed43/tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tajo/blob/8e52ed43/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java
----------------------------------------------------------------------
diff --cc 
tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java
index 1912cde,30b1767..3f4d38d
--- 
a/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java
+++ 
b/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java
@@@ -728,9 -869,9 +869,9 @@@ public class CatalogServer extends Abst
        rlock.lock();
        try {
          if (store.existIndexByName(
-             indexDesc.getTableIdentifier().getDatabaseName(),
+             databaseName,
 -            indexDesc.getIndexName())) {
 -          throw new AlreadyExistsIndexException(indexDesc.getIndexName());
 +            indexDesc.getName())) {
 +          throw new AlreadyExistsIndexException(indexDesc.getName());
          }
          store.createIndex(indexDesc);
        } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/tajo/blob/8e52ed43/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/AbstractDBStore.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tajo/blob/8e52ed43/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/store/MemStore.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tajo/blob/8e52ed43/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tajo/blob/8e52ed43/tajo-core/src/main/java/org/apache/tajo/engine/planner/PhysicalPlannerImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tajo/blob/8e52ed43/tajo-core/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tajo/blob/8e52ed43/tajo-plan/src/main/java/org/apache/tajo/plan/LogicalPlanPreprocessor.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tajo/blob/8e52ed43/tajo-plan/src/main/java/org/apache/tajo/plan/LogicalPlanner.java
----------------------------------------------------------------------
diff --cc tajo-plan/src/main/java/org/apache/tajo/plan/LogicalPlanner.java
index 2646c18,9002f28..3604e06
--- a/tajo-plan/src/main/java/org/apache/tajo/plan/LogicalPlanner.java
+++ b/tajo-plan/src/main/java/org/apache/tajo/plan/LogicalPlanner.java
@@@ -37,10 -37,8 +37,11 @@@ import org.apache.tajo.algebra.WindowSp
  import org.apache.tajo.catalog.*;
  import org.apache.tajo.catalog.partition.PartitionMethodDesc;
  import org.apache.tajo.catalog.proto.CatalogProtos;
 +import org.apache.tajo.catalog.proto.CatalogProtos.IndexMethod;
+ import org.apache.tajo.catalog.proto.CatalogProtos.StoreType;
  import org.apache.tajo.common.TajoDataTypes;
 +import org.apache.tajo.conf.TajoConf;
 +import org.apache.tajo.conf.TajoConf.ConfVars;
  import org.apache.tajo.datum.NullDatum;
  import org.apache.tajo.plan.LogicalPlan.QueryBlock;
  import org.apache.tajo.plan.algebra.BaseAlgebraVisitor;

http://git-wip-us.apache.org/repos/asf/tajo/blob/8e52ed43/tajo-plan/src/main/java/org/apache/tajo/plan/logical/NodeType.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tajo/blob/8e52ed43/tajo-plan/src/main/java/org/apache/tajo/plan/rewrite/rules/ProjectionPushDownRule.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tajo/blob/8e52ed43/tajo-plan/src/main/java/org/apache/tajo/plan/visitor/BasicLogicalPlanVisitor.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tajo/blob/8e52ed43/tajo-plan/src/main/java/org/apache/tajo/plan/visitor/ExplainLogicalPlanVisitor.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tajo/blob/8e52ed43/tajo-plan/src/main/java/org/apache/tajo/plan/visitor/LogicalPlanVisitor.java
----------------------------------------------------------------------

Reply via email to