[ 
https://issues.apache.org/jira/browse/HIVE-6167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13868145#comment-13868145
 ] 

Alan Gates commented on HIVE-6167:
----------------------------------

My thoughts:
# I agree that built-in UDFs should be in a global space that need not 
(probably cannot) be qualified.  Everyone needs access to them, and I can't see 
any value in adding a namespace here.
# Permanent functions added by users or admins should be in a database.  This 
gives us namespace separation, it fits with the SQL standard, and I think it 
will fit in better with where we're trying to take the security model.  I'm 
fine with {{create function}} defaulting to the current (not necessarily the 
default) data base if users don't specify which database.
# Temporary functions are really session specific (they go away once the user 
disconnects) and can't be accessed by any other session, correct?  So I think 
it's fine to view them as "global" for the purposes of that session.  The 
following sequence should work:
## {{use db foo}}
## {{create temporary function a();}}
## {{use db bar}}
## {{select a( x ) from T}}

> Allow user-defined functions to be qualified with database name
> ---------------------------------------------------------------
>
>                 Key: HIVE-6167
>                 URL: https://issues.apache.org/jira/browse/HIVE-6167
>             Project: Hive
>          Issue Type: Sub-task
>          Components: UDF
>            Reporter: Jason Dere
>            Assignee: Jason Dere
>
> Function names in Hive are currently unqualified and there is a single 
> namespace for all function names. This task would allow users to define 
> temporary UDFs (and eventually permanent UDFs) with a database name, such as:
> CREATE TEMPORARY FUNCTION userdb.myfunc 'myudfclass';



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to