我在按类型为 frozen> 的列过滤时遇到问题,该列是按DESC
顺序排序的集群键的一部分。
语境
这是我的键空间和表的定义
CREATE KEYSPACE hello WITH replication =
{'class': 'SimpleStrategy', 'replication_factor': 1 };
CREATE TABLE hello.table1 (
fn bigint,
et smallint,
st frozen<list<bigint>>,
tn bigint,
ts timestamp,
PRIMARY KEY ((fn, et), st, tn));
CREATE TABLE hello.table2 (
fn bigint,
et smallint,
st frozen<list<bigint>>,
tn bigint,
ts timestamp,
PRIMARY KEY ((fn, et), st, tn)) WITH CLUSTERING ORDER BY (st DESC, tn DESC);
有什么作用...
将记录插入table1
工作正常:
INSERT INTO hello.table1(fn, et,st,tn, ts) VALUES ( 1,1,[23],1,0);
INSERT INTO hello.table1(fn, et,st,tn, ts) VALUES ( 1,1,[24],1,0);
INSERT INTO hello.table1(fn, et,st,tn, ts) VALUES ( 1,1,[25],1,0);
where
在子句中选择记录并指定冻结列也可以正常工作
select * from hello.table1 where fn=1 and et=1 and st=[23];
什么不起作用...
插入记录table2
不起作用:
INSERT INTO hello.table2(fn, et,st,tn, ts) VALUES ( 1,1,[23],1,0);
如果我已经插入了记录(从我的应用程序),选择记录并在where
子句中指定冻结列也不起作用
select * from hello.table2 where fn=1 and et=1 and st=[23];