Geo*_*nos 10 cql cassandra scylla
我有一个带有列类型为list的表,我想使用CONTAINS关键字检查列表中是否有项。
根据scylla文档:
CONTAINS运算符只能在集合列(列表,集合和地图)上使用。对于地图,CONTAINS适用于地图值。CONTAINS KEY运算符只能在地图列上使用,并应用于地图键。
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"
Run Code Online (Sandbox Code Playgroud)
小智 7
CONTAINSScylla已经实现了对关键字过滤的支持,但是它尚未包含在任何正式版本中-它将包含在即将发布的3.1版本中(或者,如果您是从最新的来源自行构建的,则包括在内)。
这是来自官方跟踪器的参考:https : //github.com/scylladb/scylla/issues/3573
| 归档时间: |
|
| 查看次数: |
72 次 |
| 最近记录: |