2

我在按类型为 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];
4

0 回答 0