CASSANDRA: ALLOW FILTERING не работает для MATERIALIZED VIEW

ПОСМОТРЕТЬ:

CREATE MATERIALIZED VIEW IF NOT SampleView AS
SELECT *
FROM table
WHERE id IS NOT NULL and id1 IS NOT NULL AND col1 IS NOT NULL AND col2 IS NOT NULL
PRIMARY KEY ((id, id1), col1, col2)
WITH CLUSTERING ORDER BY (col1 DESC, col2 DESC);

Запрос:

select * from SampleView where id = 1 and col1 > 3 LIMIT 20 ALLOW FILTERING

ошибка

Ключи разделов: id1 должен быть ограничен, так как другие части

Оговорка ALLOW FILTERING разрешена для материализованного представления? Если нет, то какой другой вариант лучше?

Всего 1 ответ


Вероятно, вы используете Cassandra 3.9 или ниже и попадаете в ошибку, описанную в CASSANDRA-10368, которая исправлена ​​в 3.10.

Вероятно, вы захотите перейти на более новую версию (на данный момент рекомендуется 3.11.3).

Кроме того, как отметил Крис, материализованное представление по-прежнему отмечено как экспериментальное, и разрешить фильтрацию только в порядке, и очень редко все в порядке с ярлыком «prod».


Есть идеи?

10000