[ 
https://issues.apache.org/jira/browse/CASSANDRA-9166?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sam Tunnicliffe reassigned CASSANDRA-9166:
------------------------------------------

    Assignee: Sam Tunnicliffe  (was: Benjamin Lerer)

> Prepared statements using functions in collection literals aren't invalidated 
> when functions are dropped
> --------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-9166
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9166
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Sam Tunnicliffe
>            Assignee: Sam Tunnicliffe
>              Labels: cql, functions
>             Fix For: 3.0
>
>
> When a function is dropped, any prepared statements which reference it need 
> to be removed from the prepared statement cache. 
> The default implementation of {{Term#usesFunction}} in {{Term.NonTerminal}} 
> is not overriden in all the places it should be. The {{DelayedValue}} classes 
> in {{Lists}}, {{Sets}}, {{Maps}} and {{Tuples}} may all make use of function 
> calls.
> {code}
> CREATE KEYSPACE ks WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': 1};
> CREATE TABLE ks.t1 (k int PRIMARY KEY, v list<int>);
> CREATE FUNCTION ks.echo_int(input int) RETURNS int LANGUAGE javascript AS 
> 'input';
> {code}
> a prepared statement of the form:
> {code}
> INSERT INTO ks.t1 (k, v) VALUES (?, [ks.echo_int(?)]);
> {code}
> should be dropped when {{ks.echo_int(int)}} is, but currently that isn't the 
> case.



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

Reply via email to