You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Chandan Goel <cg...@sapient.com> on 2017/11/03 12:19:50 UTC

Cassandra | MODIFY keyword

Hi,

I would be appreciative if you could help with below questions.

I have two question on Modify keyword with respect to Cassandra(No SQL database).
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 automatically.
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.
Thanks
Chandan