这是Cassandra(2.0.3)/ cqlsh(cql3.0.2)的预期行为吗? 对我来说似乎是个错误:
cqlsh> create table t1(c1 text primary key);
cqlsh> insert into t1(c1) values ('A');
cqlsh> select * from t1;
c1
----
A
cqlsh> select * from t1 where c1 = 'A';
c1
----
A
cqlsh> select * from t1 where c1 in( 'A');
c1
----
A
cqlsh:dslog> select * from t1 where c1 in( 'A','A');
c1
----
A
A
???
答案 0 :(得分:1)
是的,这是一个错误。在内部,看起来查询引擎为此查询生成两个单独的命令,然后组合结果而不进行重复数据删除。
有趣的是,2011年有一个very similar bug报告,并且已修复。但是,CQL查询处理器的一个新的,完全重写的版本已经在更高版本的Cassandra中发布了,我猜这个bug又被引入了。