You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "DOAN DuyHai (JIRA)" <ji...@apache.org> on 2015/11/28 17:50:10 UTC
[jira] [Created] (CASSANDRA-10783) Allow literal value as parameter
of UDF & UDA
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)