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/86c97b2a Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/86c97b2a Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/86c97b2a Branch: refs/heads/index_support Commit: 86c97b2a1cb9f458b2d16dcfd06808a4c451008f Parents: e6b91c3 9540f16 Author: Jihoon Son <[email protected]> Authored: Wed Apr 29 11:19:14 2015 +0900 Committer: Jihoon Son <[email protected]> Committed: Wed Apr 29 11:19:14 2015 +0900 ---------------------------------------------------------------------- CHANGES | 2 + .../tajo/algebra/GeneralSetFunctionExpr.java | 1 - .../tajo/function/FunctionInvocation.java | 19 +- .../tajo/function/PythonInvocationDesc.java | 48 +-- .../src/main/proto/CatalogProtos.proto | 1 + .../tajo/engine/function/FunctionLoader.java | 2 +- .../engine/planner/global/GlobalPlanner.java | 13 +- .../src/main/resources/python/controller.py | 283 ++++++++++---- .../src/main/resources/python/tajo_util.py | 5 +- .../engine/function/TestPythonFunctions.java | 4 +- .../tajo/engine/query/TestGroupByQuery.java | 52 +++ .../src/test/resources/python/test_funcs.py | 10 +- .../src/test/resources/python/test_funcs.pyc | Bin 1042 -> 0 bytes .../src/test/resources/python/test_funcs2.py | 8 +- .../src/test/resources/python/test_udaf.py | 76 ++++ .../testComplexTargetWithPythonUdaf.sql | 1 + .../testDistinctPythonUdafWithUnion1.sql | 21 ++ .../testGroupbyWithPythonFunc.sql | 2 +- .../queries/TestGroupByQuery/testPythonUdaf.sql | 1 + .../TestGroupByQuery/testPythonUdaf2.sql | 1 + .../TestGroupByQuery/testPythonUdaf3.sql | 1 + .../testPythonUdafWithHaving.sql | 3 + .../testPythonUdafWithNullData.sql | 4 + .../testNestedPythonFunction.sql | 2 +- .../TestSelectQuery/testSelectPythonFuncs.sql | 2 +- .../testSelectWithPredicateOnPythonFunc.sql | 2 +- .../testComplexTargetWithPythonUdaf.result | 3 + .../testDistinctPythonUdafWithUnion1.result | 4 + .../TestGroupByQuery/testPythonUdaf.result | 3 + .../TestGroupByQuery/testPythonUdaf2.result | 4 + .../TestGroupByQuery/testPythonUdaf3.result | 5 + .../testPythonUdafWithHaving.result | 4 + .../testPythonUdafWithNullData.result | 2 + tajo-docs/src/main/sphinx/functions.rst | 61 +--- tajo-docs/src/main/sphinx/functions/python.rst | 159 ++++++++ .../org/apache/tajo/plan/ExprAnnotator.java | 24 +- .../plan/expr/AggregationFunctionCallEval.java | 63 +++- .../org/apache/tajo/plan/expr/EvalContext.java | 3 +- .../tajo/plan/expr/WindowFunctionEval.java | 14 +- .../apache/tajo/plan/function/AggFunction.java | 10 + .../tajo/plan/function/AggFunctionInvoke.java | 88 +++++ .../function/ClassBasedAggFunctionInvoke.java | 82 +++++ .../ClassBasedScalarFunctionInvoke.java | 80 ++++ .../tajo/plan/function/FunctionInvoke.java | 4 +- .../plan/function/FunctionInvokeContext.java | 24 +- .../function/LegacyScalarFunctionInvoke.java | 81 ---- .../plan/function/PythonAggFunctionInvoke.java | 139 +++++++ .../plan/function/PythonFunctionInvoke.java | 2 +- .../function/python/PythonScriptEngine.java | 365 +++++++++++++++---- .../plan/function/python/TajoScriptEngine.java | 21 +- .../tajo/plan/function/stream/BufferPool.java | 65 +++- .../function/stream/CSVLineDeserializer.java | 17 +- .../tajo/plan/function/stream/CSVLineSerDe.java | 4 +- .../plan/function/stream/CSVLineSerializer.java | 61 +++- .../stream/FieldSerializerDeserializer.java | 6 +- .../tajo/plan/function/stream/InputHandler.java | 19 +- .../plan/function/stream/OutputHandler.java | 73 +++- .../plan/function/stream/StreamingUtil.java | 12 + .../stream/TextFieldSerializerDeserializer.java | 14 +- .../function/stream/TextLineDeserializer.java | 3 + .../plan/function/stream/TextLineSerDe.java | 2 +- .../function/stream/TextLineSerializer.java | 9 +- .../tajo/plan/serder/EvalNodeDeserializer.java | 10 +- 63 files changed, 1673 insertions(+), 431 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tajo/blob/86c97b2a/tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tajo/blob/86c97b2a/tajo-core/src/main/java/org/apache/tajo/engine/planner/global/GlobalPlanner.java ----------------------------------------------------------------------
