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/19 13:22:25 UTC
[1/2] git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/tajo into index_support
Repository: tajo
Updated Branches:
refs/heads/index_support 738c3a1de -> 322da3885
Merge branch 'master' of https://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/cd613507
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/cd613507
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/cd613507
Branch: refs/heads/index_support
Commit: cd613507907440acd652341138c6d76a1e9ae568
Parents: f98b78c 2e32f5a
Author: Jihoon Son <ji...@apache.org>
Authored: Sun Oct 19 20:21:55 2014 +0900
Committer: Jihoon Son <ji...@apache.org>
Committed: Sun Oct 19 20:21:55 2014 +0900
----------------------------------------------------------------------
CHANGES | 20 ++
.../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 ++++--
.../tajo/catalog/store/PostgreSQLStore.java | 332 +++++++++++++++++++
.../resources/schemas/postgresql/columns.sql | 9 +
.../resources/schemas/postgresql/databases.sql | 6 +
.../resources/schemas/postgresql/indexes.sql | 14 +
.../schemas/postgresql/partition_methods.sql | 7 +
.../resources/schemas/postgresql/partitions.sql | 10 +
.../main/resources/schemas/postgresql/stats.sql | 6 +
.../schemas/postgresql/table_properties.sql | 7 +
.../resources/schemas/postgresql/tables.sql | 9 +
.../schemas/postgresql/tablespaces.sql | 6 +
.../org/apache/tajo/catalog/TestCatalog.java | 29 +-
.../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 +
80 files changed, 2771 insertions(+), 908 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tajo/blob/cd613507/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/cd613507/tajo-catalog/tajo-catalog-server/src/main/java/org/apache/tajo/catalog/CatalogServer.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tajo/blob/cd613507/tajo-catalog/tajo-catalog-server/src/test/java/org/apache/tajo/catalog/TestCatalog.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tajo/blob/cd613507/tajo-core/src/test/java/org/apache/tajo/engine/planner/TestLogicalPlanner.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tajo/blob/cd613507/tajo-core/src/test/java/org/apache/tajo/engine/planner/physical/TestPhysicalPlanner.java
----------------------------------------------------------------------
[2/2] git commit: Merge branch 'index_support' of
https://git-wip-us.apache.org/repos/asf/tajo into index_support
Posted by ji...@apache.org.
Merge branch 'index_support' of https://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/322da388
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/322da388
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/322da388
Branch: refs/heads/index_support
Commit: 322da3885d7e806b875158725cc3885e39f60be2
Parents: cd61350 738c3a1
Author: Jihoon Son <ji...@apache.org>
Authored: Sun Oct 19 20:22:08 2014 +0900
Committer: Jihoon Son <ji...@apache.org>
Committed: Sun Oct 19 20:22:08 2014 +0900
----------------------------------------------------------------------
----------------------------------------------------------------------