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

Aleksey Yeschenko commented on CASSANDRA-9542:
----------------------------------------------

I'm sorry to flip-flop about this, but I do now think that it shouldn't be 
allowed. UDAs should be limited to only UDFs from their own KS, not even 
allowed to use {{system}} ones.

Allowing it doesn't go well with the upcoming schema code changes in a big way, 
plus it's not very useful. Realistically, you can only really use them as final 
funcs. And you might as well call {{SELECT intAsAblob(my_agg(...))}} and get 
the same result, if you really need a conversion. It's probably cleaner that 
way too.

> Create UDA does not recognize built-in functions without specifying system 
> keyspace
> -----------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-9542
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9542
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Zachary Kurey
>            Assignee: Robert Stupp
>            Priority: Minor
>             Fix For: 2.2.0 rc2
>
>         Attachments: 9542.txt
>
>
> I'd expect when creating a UDA not to have to specify the system keyspace 
> when using a built-in function for the state or final function.  For example:
> {code}
> CREATE AGGREGATE if not exists ks.my_agg(int) 
> SFUNC ks.adder
> STYPE int
> FINALFUNC intasblob
> ;
> {code}
> Gives me me the error:
> {quote}Final function ks.intasblob(int) does not exist or is not a scalar 
> function{quote}
> Prefixing with 'system.' fixes the issue. But I was expecting it to resolve 
> as if I were using a built in function elsewhere.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to