scylladb-[invalid query]message=“尚不支持集合筛选”

oknwwptz  于 2021-06-14  发布在  Cassandra
关注(0)|答案(1)|浏览(292)

我有一个表,它的列类型为list,我想使用contains关键字检查列表中是否有项。
根据锡拉文件:
contains运算符只能用于集合列(列表、集和Map)。对于Map,contains应用于Map值。contains key运算符只能用于Map列并应用于Map键。
https://docs.scylladb.com/getting-started/dml/
要重现我收到的错误,请执行以下操作:

CREATE TABLE test.persons ( id int PRIMARY KEY,lastname text, books list<text>);
INSERT INTO test.persons(id, lastname, books) values (1, 'Testopoulos',['Dracula','1984']);
SELECT * FROM test.persons

 id | books               | lastname
----+---------------------+-------------
  1 | ['Dracula', '1984'] | Testopoulos

(1 rows)

SELECT * FROM test.persons WHERE books CONTAINS '1984' ALLOW FILTERING;

InvalidRequest: Error from server: code=2200 [Invalid query] message="Collection filtering is not supported yet"
mtb9vblg

mtb9vblg1#

支持 CONTAINS 过滤关键字已经在scylla中实现了,但它还不是任何官方版本的一部分-它将包含在即将发布的3.1版本中(或者,如果您自己从最新的源代码中构建它的话)。
以下是官方追踪的参考资料:https://github.com/scylladb/scylla/issues/3573

相关问题