You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Michael Edge (JIRA)" <ji...@apache.org> on 2015/11/25 10:54:11 UTC

[jira] [Commented] (CASSANDRA-10760) Counters are erroneously allowed as map key type

    [ https://issues.apache.org/jira/browse/CASSANDRA-10760?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15026524#comment-15026524 ] 

Michael Edge commented on CASSANDRA-10760:
------------------------------------------

[~iamaleksey], if this is what you're expecting I'll create patches for v2.1 and v2.2.

{noformat}
cqlsh> create keyspace test with replication = {'class': 'SimpleStrategy', 'replication_factor': 1};
cqlsh> create table test.test (id int primary key, amap map<counter, text>);
InvalidRequest: code=2200 [Invalid query] message="Counters are not allowed as keys inside collections: map<counter, text>"
cqlsh> create table test.test (id int primary key, amap map<int, counter>);
InvalidRequest: code=2200 [Invalid query] message="Counters are not allowed as values inside collections: map<int, counter>"
{noformat}

> Counters are erroneously allowed as map key type
> ------------------------------------------------
>
>                 Key: CASSANDRA-10760
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10760
>             Project: Cassandra
>          Issue Type: Bug
>          Components: CQL
>            Reporter: Aleksey Yeschenko
>            Priority: Minor
>             Fix For: 2.1.x, 2.2.x, 3.0.x
>
>
> We do validate collection value types, but not collection key types, which allows counters to be used as map keys:
> {noformat}
> cqlsh> create keyspace test with replication = {'class': 'SimpleStrategy', 'replication_factor': 1};
> cqlsh> use test;
> cqlsh:test> create table test.test (id int primary key, amap map<counter, text>);
> cqlsh:test> insert into test.test (id, amap) values (0, {1: '2'});
> cqlsh:test> select * from test.test;
>  id | amap
> ----+----------
>   0 | {1: '2'}
> (1 rows)
> {noformat}
> This should obviously not be allowed and must be rejected.
> /cc [~slebresne]



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