[
https://issues.apache.org/jira/browse/CASSANDRA-14345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16415605#comment-16415605
]
Duarte Nunes commented on CASSANDRA-14345:
------------------------------------------
This seems to be related how composites are serialized (as-is), versus how
multi-component are serialized (<length> <value> <EOC>).
It's not clear to me whether the issue is at the MV level, or whether empty,
non-null keys should be allowed for normal tables too.
> Empty partition keys allowed in MV, but not in normal table
> -----------------------------------------------------------
>
> Key: CASSANDRA-14345
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14345
> Project: Cassandra
> Issue Type: Bug
> Components: Materialized Views
> Reporter: Duarte Nunes
> Priority: Major
> Labels: materializedviews
>
> Given the following table:
>
> {code:java}
> cqlsh> create keyspace ks WITH replication = {'class': 'SimpleStrategy',
> 'replication_factor': 1};
> cqlsh> create table t (p text, c int, v text, primary key (p));
> cqlsh> use ks;
> {code}
> The following fails:
> {code:java}
> cqlsh:ks> insert into t (p, c, v) values ('', 2, '');
> InvalidRequest: Error from server: code=2200 [Invalid query] message="Key
> may not be empty"{code}
> However, MVs don't appear to have this restriction:
> {code:java}
> create materialized view mv as select * from t where v is not null and p is
> not null and c is not null primary key (v, p);
> insert into t (p, c, v) values ('a', 2, '');
> select * from mv;
> v | p | c
> ---+---+---
> | a | 2
> {code}
> I think the behavior should be made consistent, if nothing else because
> querying the MV for the empty key is impossible:
> {code:java}
> cqlsh:ks> select * from mv where v = '';
> InvalidRequest: Error from server: code=2200 [Invalid query] message="Key
> may not be empty"{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]