【问题标题】:ScyllaDB - [Invalid query] message="Collection filtering is not supported yet"ScyllaDB - [无效查询] message="尚不支持集合过滤"
【发布时间】:2020-01-12 10:03:55
【问题描述】:

我有一个包含列表类型列的表,我想使用 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"

【问题讨论】:

    标签: cassandra cql scylla


    【解决方案1】:

    支持CONTAINS 关键字过滤已经在 Scylla 中实现,但它还不是任何官方版本的一部分 - 它将包含在即将发布的 3.1 版本中(或者,当然,如果你自己从最新源构建它)。

    这是来自官方跟踪器的参考:https://github.com/scylladb/scylla/issues/3573

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-11
      • 2018-07-22
      • 2016-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多