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
----------------------------------------------------------------------