You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tajo.apache.org by "Hyunsik Choi (JIRA)" <ji...@apache.org> on 2013/12/11 06:43:07 UTC

[jira] [Created] (TAJO-408) Improve function system

Hyunsik Choi created TAJO-408:
---------------------------------

             Summary: Improve function system
                 Key: TAJO-408
                 URL: https://issues.apache.org/jira/browse/TAJO-408
             Project: Tajo
          Issue Type: Improvement
          Components: function/udf
            Reporter: Hyunsik Choi
            Assignee: SeongHwa Ahn
             Fix For: 0.8-incubating


Currently, function system was designed few years ago. So, there are lack of key features necessary for functions and user-defined functions.

I have discussed this issue with [~epsilon]. We could summary the following issues.


* There is no way to describe explanation of functions.
 ** For user convenience, Tajo needs to show users function information, including signature, parameters, results, descriptions, and examples.
* TajoMaster registers lots of functions at startup time. This is a burden to maintain registration codes. We need to improve this to automatically register built-in functions in a specific package.
* Currently, the way to find matched function is too strict.
  ** Due to this function match system, we have to register functions for each parameter type combination.
  ** Function match mechanism should consider type compatibility. For example, count(val:integer) can be compatibly to count(val:long). In this case, we need to only register count(val:bigint) function. Tajo has to find count(val:bigint) even though count(val:integer) function is called.
* We need more elaborate UDF regestration system.
  ** Currently, registering a user-defined function requires system restart. There is no way to register UDFs in runtime.
  ** Tajo should provide a run-time UDF registration system. 
  ** It should involve user jars distribution.
  ** It should provide 'CREATE FUNCTION' and 'DROP FUNCTION' statements.
  ** The registration functions are stored in catalog system, and they should be loaded even though a Tajo cluster is restarted.

This is an umbrella issue. we'll create one or more sub tasks for the above issues.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)