[jira] [Commented] (CASSANDRA-8850) clean up options syntax for create/alter role

2015-03-11 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14356395#comment-14356395
 ] 

Aleksey Yeschenko commented on CASSANDRA-8850:
--

Doesn't build for me still.

 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)


[jira] [Commented] (CASSANDRA-8850) clean up options syntax for create/alter role

2015-03-11 Thread Sam Tunnicliffe (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14356490#comment-14356490
 ] 

Sam Tunnicliffe commented on CASSANDRA-8850:


bah! sorry, I'd used Idea to move RoleOptions between packages  had also put 
it in the test source tree without realising. Fixed now.

 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)


[jira] [Commented] (CASSANDRA-8850) clean up options syntax for create/alter role

2015-03-10 Thread Sam Tunnicliffe (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14354860#comment-14354860
 ] 

Sam Tunnicliffe commented on CASSANDRA-8850:


Done, rebased  dropped the latter commit. 
([link|https://github.com/beobal/cassandra/tree/8850])

 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)


[jira] [Commented] (CASSANDRA-8850) clean up options syntax for create/alter role

2015-03-09 Thread Sam Tunnicliffe (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14352938#comment-14352938
 ] 

Sam Tunnicliffe commented on CASSANDRA-8850:


Having had some time to think about this some more, I'm of the opinion that we 
should leave role names as they are. That is, we should allow identifiers with 
the option to quote for case-sensitivity or when special characters are used. 

* As Sylvain points out, in every other {{CREATE X}} statement, {{X}} is an 
identifier so that would be internally consistent.
* I'm not convinced that user expectations are to require quoting. In the first 
instance, there's the expectations of existing users who will be used to using 
identifiers (plus this is of course what is already documented)
* Also, I think you may be mistaken about the behaviour of other systems. 
  ** Postgres by default behaves as CQL does currently 
^\[[1|http://www.postgresql.org/docs/9.4/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS]\]^
  ** Mysql handles case-sensitivity differently to CQL (case is preserved even 
for unquoted identifiers), but it requires quoting only in the presence of 
non-ascii characters 
^\[[2|http://dev.mysql.com/doc/refman/5.7/en/account-names.html]\]^
  ** Oracle too supports both quoted and unquoted identifiers, with unquoted ( 
case insensitive) being the recommended default 
^\[[3|http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_8003.htm#i2103003]\]^
 
^\[[4|http://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements008.htm#SQLRF51129]\]^
* The security issue (if I've understood it correctly - that names may be used 
mistakenly in authorization statements due to casing errors), is valid but 
seems relatively minor and also common to the other DBs mentioned.

Given these points, it doesn't seem to me to be worth making invasive changes 
to the CQL grammar so my vote would be to only consider the first commit 
([0f0ec5a|https://github.com/beobal/cassandra/commit/0f0ec5a706d73f3c018a6dae1051fdf4f21ccbf6])
 in the branch I linked above for review and to disregard 
[001e41e|https://github.com/beobal/cassandra/commit/001e41eb6e088f3ed112f8b54540f2bf51400b1b].

 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)


[jira] [Commented] (CASSANDRA-8850) clean up options syntax for create/alter role

2015-03-09 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14354229#comment-14354229
 ] 

Aleksey Yeschenko commented on CASSANDRA-8850:
--

All right, if you say so, identifiers it is.

Can you rebase the branch to account for CASSANDRA-8761? trunk doesn't build 
with the first patch applied.

Thanks.

 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)


[jira] [Commented] (CASSANDRA-8850) clean up options syntax for create/alter role

2015-03-05 Thread Sam Tunnicliffe (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=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)


[jira] [Commented] (CASSANDRA-8850) clean up options syntax for create/alter role

2015-03-05 Thread Sam Tunnicliffe (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14349084#comment-14349084
 ] 

Sam Tunnicliffe commented on CASSANDRA-8850:


I've rebased  pushed a couple of commits to a [branch | 
https://github.com/beobal/cassandra/tree/8850] 
The first makes the options syntax on {{(CREATE|ALTER) ROLE}} consistent with 
other CQL statements. It also makes the {{IRoleManager}} interface a little 
more strongly typed by making {{RoleOptions}} more useful and using it in place 
of the generic {{MapOption, Object}} in {{createRole}} and {{alterRole}}.

The second commit enforces the string literal constraint on role names where 
possible. {{ListPermissions}} is really the only place where it's really 
ambiguous. I've mentioned in the comments, we will be able to simplify the 
grammar again if/when we remove support for the old user syntax.

 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)


[jira] [Commented] (CASSANDRA-8850) clean up options syntax for create/alter role

2015-03-05 Thread Sam Tunnicliffe (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14349069#comment-14349069
 ] 

Sam Tunnicliffe commented on CASSANDRA-8850:


To be clear, it's not the create/alter syntax that's problematic so the new 
options stuff is irrelevant. The problem is with grant/revoke/list permissions 
statements (see comment below)

 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)


[jira] [Commented] (CASSANDRA-8850) clean up options syntax for create/alter role

2015-03-04 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14347606#comment-14347606
 ] 

Aleksey Yeschenko commented on CASSANDRA-8850:
--

Usernames (and by extension role names) should be case-sensitive by default, 
IMO - that's what people expect. Also that's how everyone else does it 
(postgres, mysql, oracle).

 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)


[jira] [Commented] (CASSANDRA-8850) clean up options syntax for create/alter role

2015-03-04 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14347908#comment-14347908
 ] 

Aleksey Yeschenko commented on CASSANDRA-8850:
--

Also, I feel like it's more important here to be consistent within the 
statement itself (with PASSWORD, which is a string, and not an identifier.

Also, it doesn't make backward compatibility any easier or harder. With the new 
options syntax we need to entirely separate statements anyway.

Either way, I don't care too much about it either. Deferring to Sam's judgement.

 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)


[jira] [Commented] (CASSANDRA-8850) clean up options syntax for create/alter role

2015-03-04 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14348063#comment-14348063
 ] 

Aleksey Yeschenko commented on CASSANDRA-8850:
--

One could even say that the way it's currently done (with case-insensitive 
identifiers) is a minor security issue.

 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)


[jira] [Commented] (CASSANDRA-8850) clean up options syntax for create/alter role

2015-03-04 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14347912#comment-14347912
 ] 

Aleksey Yeschenko commented on CASSANDRA-8850:
--

For anything USERS and PERMISSIONS we can support both, for now, but 
essentially deprecate the indentifier form (and maybe remove, some day). For 
anything ROLE only do strings from day one?

 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)


[jira] [Commented] (CASSANDRA-8850) clean up options syntax for create/alter role

2015-03-04 Thread Sam Tunnicliffe (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14346969#comment-14346969
 ] 

Sam Tunnicliffe commented on CASSANDRA-8850:


bq. And while we are at it, enforce that role names are always quoted strings. 
No need to carry that CREATE USER mistake to CREATE ROLE, etc.

The issue with this is that it means things bit messy with some statements 
which used to relate to users, but now relate to roles basically 
GRANT/REVOKE/LIST PERMISSIONS. For those, we'd need to support both identifiers 
 strings to maintain backwards compatibility. What's the motivation for 
enforcing role names as strings and is it worth it?


 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)


[jira] [Commented] (CASSANDRA-8850) clean up options syntax for create/alter role

2015-03-04 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14346971#comment-14346971
 ] 

Sylvain Lebresne commented on CASSANDRA-8850:
-

Any particular reason why that was a mistake? Using identifier (provided we do 
enforce the usual rules for identifier that is, including allowing 
double-quoting them for case sensitivity) kinds of feels more consistent to me 
with tables, keyspace etc... (as in, what comes after {{CREATE XXX}} is always 
an identifier). And in truth, while I don't really care too much, switching to 
strings make it a bit ugly for maintaining backward compatibility with CREATE 
USER.

 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)


[jira] [Commented] (CASSANDRA-8850) clean up options syntax for create/alter role

2015-03-04 Thread Sam Tunnicliffe (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14346972#comment-14346972
 ] 

Sam Tunnicliffe commented on CASSANDRA-8850:


bq. I've been thinking about it a bit. If we don't care too much about 
emulating Postgres syntactically, can we go with a more consistent (wrt the 
rest of C* CQL statements) option?

OK, personally I find the postgres form more aesthetically pleasing, but being 
consistent with other CQL statements is definitely more important.

 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)


[jira] [Commented] (CASSANDRA-8850) clean up options syntax for create/alter role

2015-03-03 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14345253#comment-14345253
 ] 

Sylvain Lebresne commented on CASSANDRA-8850:
-

I'll admit I'm not a huge fan of having gazillions ways of expressing the same 
thing, especially when there isn't a meaningful amount of character difference 
between the options. Since roles are new to 3.0, can't we just go with {{WITH}} 
and {{AND}} being mandatory (since that's how other DDL statements work)?

 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.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)


[jira] [Commented] (CASSANDRA-8850) clean up options syntax for create/alter role

2015-03-03 Thread Sam Tunnicliffe (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14345262#comment-14345262
 ] 

Sam Tunnicliffe commented on CASSANDRA-8850:


Certainly, we can do that  I'm also not a fan of having multiple equivalent 
expressions for the same thing. The reasoning for making them optional was to 
preserve support for things like {{CREATE ROLE r NOSUPERUSER;}} which was 
brought along from {{CREATE USER}} syntax. And I assume it was there originally 
to emulate postgres. 

I'll post a new patch ( a PR for dtests) directly.



 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.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)


[jira] [Commented] (CASSANDRA-8850) clean up options syntax for create/alter role

2015-03-03 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14346146#comment-14346146
 ] 

Aleksey Yeschenko commented on CASSANDRA-8850:
--

I've been thinking about it a bit. If we don't care too much about emulating 
Postgres syntactically, can we go with a more consistent (wrt the rest of C* 
CQL statements) option?

Instead of
{noformat}
CREATE ROLE mike WITH PASSWORD '12345' AND NOSUPERUSER AND LOGIN
{noformat}
have
{noformat}
CREATE ROLE mike WITH PASSWORD = '12345' AND SUPERUSER = false AND LOGIN = true
{noformat}

Instead of
{noformat}
ALTER ROLE mike WITH NOSUPERUSER AND NOLOGIN
{noformat}
have
{noformat}
ALTER ROLE mike WITH SUPERUSER = false AND LOGIN = false
{noformat}

It also extends nicely to OPTIONS, too. What do you think?

 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)


[jira] [Commented] (CASSANDRA-8850) clean up options syntax for create/alter role

2015-03-03 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14346154#comment-14346154
 ] 

Aleksey Yeschenko commented on CASSANDRA-8850:
--

And while we are at it, *enforce* that role names are always quoted strings. No 
need to carry that CREATE USER mistake to CREATE ROLE, etc.

 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)