[
https://issues.apache.org/jira/browse/CASSANDRA-9166?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sam Tunnicliffe updated CASSANDRA-9166:
---------------------------------------
Component/s: CQL
> 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
> Components: CQL
> Reporter: Sam Tunnicliffe
> Assignee: Sam Tunnicliffe
> Labels: cql, functions
> Fix For: 2.2.0 beta 1
>
>
> 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)