USING предложение
Предложение TO
TO можно указать список пользователей и ролей, для которых должна действовать эта политика. Например, CREATE ROW POLICY ... TO accountant, john@localhost.
Ключевое слово ALL означает всех пользователей ClickHouse, включая текущего пользователя. Ключевое слово ALL EXCEPT позволяет исключить отдельных пользователей из списка всех пользователей, например: CREATE ROW POLICY ... TO ALL EXCEPT accountant, john@localhost
Предложение AS
OR. Например, следующие политики:
peter видеть строки, где либо b=1, либо c=2.
Предложение AS указывает, как политики должны сочетаться с другими политиками. Политики могут быть либо разрешающими, либо ограничивающими. По умолчанию политики являются разрешающими, то есть они объединяются с помощью булева оператора OR.
В качестве альтернативы политику можно задать как ограничивающую. Ограничивающие политики объединяются с помощью булева оператора AND.
Вот общая формула:
peter видеть строки только при одновременном выполнении условий b=1 AND c=2.
Политики на уровне базы данных объединяются с политиками на уровне таблицы.
Например, следующие политики:
peter видеть строки таблицы table1 только при одновременном выполнении условий b=1 И c=2, хотя
для любой другой таблицы в mydb к пользователю применялась бы только политика b=1.
Предложение ON CLUSTER
Примеры
CREATE ROW POLICY filter1 ON mydb.mytable USING a<1000 TO accountant, john@localhost
CREATE ROW POLICY filter2 ON mydb.mytable USING a<1000 AND b=5 TO ALL EXCEPT mira
CREATE ROW POLICY filter3 ON mydb.mytable USING 1 TO admin
CREATE ROW POLICY filter4 ON mydb.* USING 1 TO admin