You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by ji...@apache.org on 2014/10/16 08:03:25 UTC
[4/4] git commit: Merge branch 'master' of
http://git-wip-us.apache.org/repos/asf/tajo into index_support
Merge branch 'master' of http://git-wip-us.apache.org/repos/asf/tajo into index_support
Project: http://git-wip-us.apache.org/repos/asf/tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/fbb95ec6
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/fbb95ec6
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/fbb95ec6
Branch: refs/heads/index_support
Commit: fbb95ec62fd52d648e60424e249ffc390ad1ee39
Parents: f98b78c d56737b
Author: Jihoon Son <ji...@apache.org>
Authored: Thu Oct 16 15:02:34 2014 +0900
Committer: Jihoon Son <ji...@apache.org>
Committed: Thu Oct 16 15:02:34 2014 +0900
----------------------------------------------------------------------
CHANGES | 19 ++
.../main/java/org/apache/tajo/DataTypeUtil.java | 181 ++++++++++++++
.../org/apache/tajo/catalog/CatalogUtil.java | 232 ++++++++++--------
.../org/apache/tajo/catalog/FunctionDesc.java | 167 ++++++-------
.../exception/NoSuchFunctionException.java | 6 +-
.../apache/tajo/catalog/function/Function.java | 65 -----
.../tajo/catalog/json/CatalogGsonHelper.java | 2 +-
.../tajo/catalog/json/FunctionAdapter.java | 2 +-
.../tajo/function/ClassBaseInvocationDesc.java | 71 ++++++
.../java/org/apache/tajo/function/Function.java | 66 +++++
.../tajo/function/FunctionCollection.java | 29 +++
.../tajo/function/FunctionInvocation.java | 154 ++++++++++++
.../apache/tajo/function/FunctionSignature.java | 141 +++++++++++
.../tajo/function/FunctionSupplement.java | 113 +++++++++
.../org/apache/tajo/function/FunctionUtil.java | 56 +++++
.../apache/tajo/function/ScalarFunction.java | 44 ++++
.../function/StaticMethodInvocationDesc.java | 135 +++++++++++
.../src/main/proto/CatalogProtos.proto | 75 ++++--
.../apache/tajo/catalog/TestCatalogUtil.java | 14 +-
.../apache/tajo/catalog/TestFunctionDesc.java | 6 +-
.../org/apache/tajo/catalog/CatalogServer.java | 96 ++++++--
.../org/apache/tajo/catalog/TestCatalog.java | 18 +-
.../apache/tajo/cli/DescFunctionCommand.java | 38 +--
.../apache/tajo/json/ClassNameSerializer.java | 3 +-
.../java/org/apache/tajo/util/ClassUtil.java | 201 ++++++++++++++++
.../main/java/org/apache/tajo/util/TUtil.java | 4 +-
.../tajo/engine/codegen/CaseWhenEmitter.java | 27 +--
.../tajo/engine/codegen/EvalCodeGenerator.java | 51 ++--
.../codegen/LegacyFunctionBindingEmitter.java | 75 ++++++
.../codegen/ScalarFunctionBindingEmitter.java | 164 +++++++++++++
.../engine/codegen/TajoGeneratorAdapter.java | 60 +++++
.../engine/codegen/VariablesPreBuilder.java | 2 +-
.../apache/tajo/engine/eval/AlgebraicUtil.java | 2 +-
.../org/apache/tajo/engine/eval/BinaryEval.java | 2 +-
.../apache/tajo/engine/eval/FunctionEval.java | 4 +-
.../tajo/engine/eval/WindowFunctionEval.java | 2 +-
.../tajo/engine/function/AggFunction.java | 3 +-
.../tajo/engine/function/FunctionLoader.java | 239 +++++++++++++++++++
.../tajo/engine/function/GeneralFunction.java | 3 +-
.../tajo/engine/function/builtin/AvgInt.java | 1 -
.../engine/function/math/MathFunctions.java | 46 ++++
.../apache/tajo/engine/function/math/Pow.java | 26 +-
.../apache/tajo/engine/json/CoreGsonHelper.java | 2 +-
.../optimizer/eval/rules/ConstantFolding.java | 2 +-
.../engine/plan/EvalTreeProtoDeserializer.java | 4 +-
.../tajo/engine/planner/ExprAnnotator.java | 113 +--------
.../tajo/engine/planner/TypeDeterminant.java | 6 +-
.../planner/logical/TruncateTableNode.java | 2 +-
.../join/GreedyHeuristicJoinOrderAlgorithm.java | 4 +-
.../engine/planner/logical/join/JoinEdge.java | 2 +-
.../engine/planner/logical/join/JoinGraph.java | 5 +-
.../apache/tajo/engine/utils/DataTypeUtil.java | 121 ----------
.../java/org/apache/tajo/master/TajoMaster.java | 85 +------
.../tajo/master/TajoMasterClientService.java | 3 +-
.../java/org/apache/tajo/util/ClassUtil.java | 156 ------------
.../main/java/org/apache/tajo/util/JSPUtil.java | 2 +-
.../main/resources/webapps/admin/functions.jsp | 2 +-
.../apache/tajo/LocalTajoTestingUtility.java | 21 ++
.../org/apache/tajo/client/TestTajoClient.java | 2 +-
.../apache/tajo/engine/eval/ExprTestBase.java | 4 +-
.../tajo/engine/eval/TestEvalTreeUtil.java | 3 +-
.../engine/function/TestFunctionLoader.java | 46 ++++
.../tajo/engine/function/TestMathFunctions.java | 2 +
.../tajo/engine/planner/TestExprAnnotator.java | 12 +-
.../engine/planner/TestLogicalOptimizer.java | 3 +-
.../tajo/engine/planner/TestLogicalPlanner.java | 3 +-
.../planner/global/TestBroadcastJoinPlan.java | 3 +-
.../planner/physical/TestPhysicalPlanner.java | 3 +-
.../apache/tajo/master/TestGlobalPlanner.java | 3 +-
.../testFindScalarFunctions.result | 2 +
70 files changed, 2355 insertions(+), 906 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tajo/blob/fbb95ec6/tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto
----------------------------------------------------------------------
diff --cc tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto
index 38b57a1,db402ae..3d2cd21
--- a/tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto
+++ b/tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto
@@@ -115,37 -115,14 +115,15 @@@ message NamespaceProto
optional string namespace = 2;
}
- enum FunctionType {
- GENERAL = 0;
- AGGREGATION = 1;
- DISTINCT_AGGREGATION = 2;
- WINDOW = 3;
- UDF = 4;
- UDA = 5;
- DISTINCT_UDA = 6;
- WINDOW_UDA = 7;
- }
-
- message FunctionDescProto {
- required string signature = 1;
- required string className = 2;
- required FunctionType type = 3;
- repeated DataType parameterTypes = 4;
- required DataType returnType = 5;
- optional string description = 6;
- optional string example = 7;
- optional string detail = 8;
- }
-
message IndexDescProto {
required TableIdentifierProto tableIdentifier = 1;
- required string indexName = 2;
- required ColumnProto column = 3;
- required IndexMethod indexMethod = 4;
- optional bool isUnique = 5 [default = false];
- optional bool isClustered = 6 [default = false];
- optional bool isAscending = 7 [default = false];
+ required string name = 2;
+ required string indexPath = 3;
+ required ColumnProto column = 4;
+ required IndexMethod indexMethod = 5;
+ optional bool isUnique = 6 [default = false];
+ optional bool isClustered = 7 [default = false];
+ optional bool isAscending = 8 [default = false];
}
enum IndexMethod {
@@@ -301,3 -278,56 +279,56 @@@ message AlterColumnProto
required string oldColumnName = 1;
required string newColumnName = 2;
}
+
+ ////////////////////////////////////////////////
+ // Function and UDF Section
+ ////////////////////////////////////////////////
+
+ enum FunctionType {
+ GENERAL = 0;
+ AGGREGATION = 1;
+ DISTINCT_AGGREGATION = 2;
+ WINDOW = 3;
+ UDF = 4;
+ UDA = 5;
+ DISTINCT_UDA = 6;
+ WINDOW_UDA = 7;
+ }
+
+ message FunctionDescProto {
+ required FunctionSignatureProto signature = 1;
+ required FunctionSupplementProto supplement = 2;
+ required FunctionInvocationProto invocation = 3;
+ }
+
+ message FunctionSignatureProto {
+ required FunctionType type = 1;
+ required string name = 2;
+ required DataType returnType = 3;
+ repeated DataType parameterTypes = 4;
+ }
+
+ message FunctionSupplementProto {
+ optional string shortDescription = 1;
+ optional string detail = 2;
+ optional string example = 3;
+ }
+
+ message FunctionInvocationProto {
+ optional ClassBaseInvocationDescProto legacy = 1;
+ optional StaticMethodInvocationDescProto scalar = 2;
+ optional ClassBaseInvocationDescProto aggregation = 3;
+ optional StaticMethodInvocationDescProto scalarJIT = 4;
+ optional ClassBaseInvocationDescProto aggregationJIT = 5;
+ }
+
+ message ClassBaseInvocationDescProto {
+ required string className = 1;
+ }
+
+ message StaticMethodInvocationDescProto {
+ required string className = 1;
+ required string methodName = 2;
+ required string returnClass = 3;
+ repeated string paramClasses = 4;
-}
++}
http://git-wip-us.apache.org/repos/asf/tajo/blob/fbb95ec6/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tajo/blob/fbb95ec6/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tajo/blob/fbb95ec6/tajo-core/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tajo/blob/fbb95ec6/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java
----------------------------------------------------------------------