[
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)