Kishan Karunaratne created CASSANDRA-11346:
----------------------------------------------
Summary: Can't create User Defined Functions with same name,
different args/types
Key: CASSANDRA-11346
URL: https://issues.apache.org/jira/browse/CASSANDRA-11346
Project: Cassandra
Issue Type: Bug
Environment: Cassandra 3.4 | Ruby driver 3.0.0-rc1
Reporter: Kishan Karunaratne
As of Cassandra 3.4, I can no longer create multiple UDFs with the same name,
but different args/types:
{noformat}
CREATE FUNCTION state_group_and_sum(state map<int, int>, star_rating int)
CALLED ON NULL INPUT
RETURNS map<int, int>
LANGUAGE java
AS 'if (state.get(star_rating) == null)
state.put(star_rating, 1); else state.put(star_rating, ((Integer)
state.get(star_rating)) + 1); return state;';
CREATE FUNCTION state_group_and_sum(state map<int, smallint>, star_rating
smallint)
CALLED ON NULL INPUT
RETURNS map<int, smallint>
LANGUAGE java
AS 'if (state.get(star_rating) == null)
state.put(star_rating, 1); else state.put(star_rating, ((Integer)
state.get(star_rating)) + 1); return state;';
{noformat}
Returns to the client:
{noformat}
InvalidRequest: code=2200 [Invalid query] message="Could not compile function
'simplex.state_group_and_sum' from Java source:
org.apache.cassandra.exceptions.InvalidRequestException: Java source
compilation failed:
Line 1: The method put(Integer, Short) in the type Map<Integer,Short> is not
applicable for the arguments (Short, int)
Line 1: The method put(Integer, Short) in the type Map<Integer,Short> is not
applicable for the arguments (Short, int)
Line 1: Cannot cast from Short to Integer
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)