[ https://issues.apache.org/jira/browse/CASSANDRA-8850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14349067#comment-14349067 ]
Sam Tunnicliffe commented on CASSANDRA-8850: -------------------------------------------- Right, and this is the approach that I've taken. Where it's messy is when we have a statement like {{GRANT <PERMISSION> ON <RESOURCE> TO <ROLE>}} If {{<RESOURCE>}} is a Role, then we should enforce that {{ROLE}} is a literal. But if {{<RESOURCE>}} is a data resource, we'll need to accept {{<ROLE>}} as either an identifier or a literal so we don't break compatibility (as previously, it would have represented a user). For now, I'm doing this by duplication in the grammar itself. This complexity will increase as we add further resource types (CASSANDRA-7557), but not significantly. It isn't really a big deal, it just makes the grammar & tests slightly more complicated though probably not enough to be a problem. If we're prepared to actually deprecate and remove the user concept in some future version, all the better. Is there precedent for removing syntax from CQL3? > clean up options syntax for create/alter role > ---------------------------------------------- > > Key: CASSANDRA-8850 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8850 > Project: Cassandra > Issue Type: Improvement > Reporter: Sam Tunnicliffe > Assignee: Sam Tunnicliffe > Priority: Minor > Fix For: 3.0 > > Attachments: 8850-v2.txt, 8850.txt > > > {{CREATE/ALTER ROLE}} syntax would be improved by using {{WITH}} and {{AND}} > in a way more consistent with other statements. > e.g. {{CREATE ROLE foo WITH LOGIN AND SUPERUSER AND PASSWORD 'password'}} -- This message was sent by Atlassian JIRA (v6.3.4#6332)