[
https://issues.apache.org/jira/browse/CASSANDRA-17848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17630674#comment-17630674
]
Yifan Cai commented on CASSANDRA-17848:
---------------------------------------
Basically there are 2 possible solutions.
1. Reject at the UDF creation when its name contains any of the special
character '/', '[' and ']'. Those characters should be rarely needed as part of
the function names. It requires to update the disallowed characters list when a
new special character is introduced in the future.
2. Patch the {{FunctionResource#fromName}} implementation to first locate the
last `[...]` segment (as the function's argument list) and treat whatever
appears before it as the function name. Sounds error-prone.
I'd lean towards the approach 1.
[~samt] and [~bereng], wondering what is your preference since you both have
touched the method in question.
> LIST PERMISSION can display incorrect resource name
> ---------------------------------------------------
>
> Key: CASSANDRA-17848
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17848
> Project: Cassandra
> Issue Type: Bug
> Components: CQL/Interpreter
> Reporter: Yifan Cai
> Assignee: Yifan Cai
> Priority: Normal
>
> When producing the resource name, it seems to assume that the content in the
> `[]` is the function's input type, where it could also be part of the
> function name, as long as it is quoted. Here is an example to reproduce. In
> cqlsh,
> {code:java}
> > CREATE FUNCTION
> > test."admin_created_udf[org.apache.cassandra.db.marshal.LongType]"(input
> > int) RETURNS NULL ON NULL INPUT RETURNS int LANGUAGE java AS 'return 42;';
> > LIST EXECUTE OF user;
> role | username | resource | permission
> -------+----------+-----------------------------------------+------------
> user | user | <function test.admin_created_udf(long)> | EXECUTE
> (1 rows)
> {code}
> The input should be "int", but in the output, it says "long".
> If the content enclosed by "[]" is not a valid class, the LIST PERMISSION
> request always fails for the user with "ConfigurationException: Unable to
> find abstract-type class".
> The bug is discovered by Piotr Sarna.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]