Cláusula USING
Cláusula TO
TO puedes indicar una lista de usuarios y roles a los que se aplicará esta política. Por ejemplo, CREATE ROW POLICY ... TO accountant, john@localhost.
La palabra clave ALL significa todos los usuarios de ClickHouse, incluido el usuario actual. La palabra clave ALL EXCEPT permite excluir algunos usuarios de la lista de todos los usuarios; por ejemplo, CREATE ROW POLICY ... TO ALL EXCEPT accountant, john@localhost
Cláusula AS
OR. Por ejemplo, las siguientes políticas:
peter ver las filas con b=1 o c=2.
La cláusula AS especifica cómo deben combinarse las políticas entre sí. Las políticas pueden ser permisivas o restrictivas. De forma predeterminada, las políticas son permisivas, lo que significa que se combinan mediante el operador booleano OR.
Como alternativa, una política puede definirse como restrictiva. Las políticas restrictivas se combinan mediante el operador booleano AND.
Esta es la fórmula general:
peter ver filas solo si b=1 Y c=2.
Las políticas de base de datos se combinan con las políticas de tabla.
Por ejemplo, las siguientes políticas:
peter vea las filas de table1 solo si se cumplen tanto b=1 COMO c=2, aunque
cualquier otra tabla de mydb tendría aplicada únicamente la política b=1 para el usuario.
Cláusula ON CLUSTER
Ejemplos
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