I would be appreciative if you could help with below questions.
I have two question on Modify keyword with respect to Cassandra(No SQL
1) Whenever we grant MODIFY permissions to Cassandra users, for example:
GRANT MODIFY ON table1 TO User1;
Then all four: Insert, Update, Delete and Truncate permissions are granted
But out of the four I do not want to give Truncate permission because I do not
want a user to mistakenly truncate a table.
I tried giving individual permissions of Insert ,Update and delete but this way
it does not work. Only the Modify keyword works. Is there a way I can grant
only Insert, Update and Delete to users in Cassandra.
2) I also have another question regarding Modify. Why is it mandatory to give
MODIFY permission explicitly to a Cassandra Materialized View even when related
table already has MODIFY permission?
Whenever a table in Cassandra is modified (data updated/deleted/inserted), the
related materialized View(MV) is updated automatically. Why is it necessary to
give explicit MODIFY permission to MV (Materialized Views) as well in order to
execute a Insert/Update/Delete on the related table? Further-more the
contradictory thing here is that a Modify command (Insert/Update/delete) cannot
be executed altogether on MVs. So below CQL will fail even if the user has
Modify access on MV - "delete from materializedView1 where id =10"
Another issue is that whenever a new MV is created on the same table, then the
table Modify will go for a toss, if Modify is not given/missed on the New MV.