DOAN DuyHai created CASSANDRA-10783:
---------------------------------------

             Summary: Allow literal value as parameter of UDF & UDA
                 Key: CASSANDRA-10783
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10783
             Project: Cassandra
          Issue Type: Improvement
          Components: CQL
         Environment: Cassandra 2.2.3
            Reporter: DOAN DuyHai
             Fix For: 2.2.3


I have defined the following UDF

{code:sql}
CREATE OR REPLACE FUNCTION  maxOf(current int, testValue int) RETURNS NULL ON 
NULL INPUT 
RETURNS int 
LANGUAGE java 
AS  'return Math.max(current,testValue);'

CREATE TABLE maxValue(id int primary key, val int);
INSERT INTO maxValue(id, val) VALUES(1, 100);

SELECT maxOf(val, 101) FROM maxValue WHERE id=1;
{code}

I got the following error message:

{code}
SyntaxException: <ErrorMessage code=2000 [Syntax error in CQL query] 
message="line 1:19 no viable alternative at input '101' (SELECT maxOf(val1, 
[101]...)">
{code}

 It would be nice to allow literal value as parameter of UDF and UDA too.

 I was thinking about an use-case for an UDA groupBy() function where the end 
user can *inject* at runtime a literal value to select which aggregation he 
want to display, something similar to GROUP BY ... HAVING <filter clause>



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

Reply via email to