[2/3] git commit: Simplify auth setup and make system_auth ks alterable

2013-02-13 Thread aleksey
Simplify auth setup and make system_auth ks alterable

Patch by Aleksey Yeschenko; reviewed by Jonathan Ellis for
CASSANDRA-5112


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/26596406
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/26596406
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/26596406

Branch: refs/heads/trunk
Commit: 265964064bd5012b871101e884d7e2032a44e32a
Parents: e531be7
Author: Aleksey Yeschenko 
Authored: Thu Feb 14 01:19:04 2013 +0300
Committer: Aleksey Yeschenko 
Committed: Thu Feb 14 01:19:04 2013 +0300

--
 CHANGES.txt|1 +
 bin/cqlsh  |2 +-
 pylib/cqlshlib/cql3handling.py |   12 +-
 src/java/org/apache/cassandra/auth/Auth.java   |  132 +--
 .../org/apache/cassandra/config/CFMetaData.java|8 +-
 .../cassandra/config/DatabaseDescriptor.java   |4 +-
 .../org/apache/cassandra/config/KSMetaData.java|7 -
 src/java/org/apache/cassandra/config/Schema.java   |3 +-
 .../org/apache/cassandra/cql3/QueryProcessor.java  |4 +-
 .../cql3/statements/ListUsersStatement.java|2 +-
 .../apache/cassandra/service/CassandraDaemon.java  |4 -
 .../org/apache/cassandra/service/ClientState.java  |   14 ++-
 .../apache/cassandra/service/MigrationManager.java |7 +-
 .../apache/cassandra/service/StorageService.java   |   10 +-
 14 files changed, 153 insertions(+), 57 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/26596406/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 5dd2499..3d0f633 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -18,6 +18,7 @@
  * Implement caching of authorization results (CASSANDRA-4295)
  * Add support for LZ4 compression (CASSANDRA-5038)
  * Fix missing columns in wide rows queries (CASSANDRA-5225)
+ * Simplify auth setup and make system_auth ks alterable (CASSANDRA-5112)
 
 
 1.2.1

http://git-wip-us.apache.org/repos/asf/cassandra/blob/26596406/bin/cqlsh
--
diff --git a/bin/cqlsh b/bin/cqlsh
index 4f58bdc..6db59a3 100755
--- a/bin/cqlsh
+++ b/bin/cqlsh
@@ -173,7 +173,7 @@ else:
 
 debug_completion = bool(os.environ.get('CQLSH_DEBUG_COMPLETION', '') == 'YES')
 
-SYSTEM_KEYSPACES = ('system', 'system_traces', 'system_auth')
+SYSTEM_KEYSPACES = ('system', 'system_traces')
 
 # we want the cql parser to understand our cqlsh-specific commands too
 my_commands_ending_with_newline = (

http://git-wip-us.apache.org/repos/asf/cassandra/blob/26596406/pylib/cqlshlib/cql3handling.py
--
diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py
index 27bd67b..def573e 100644
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@ -39,6 +39,7 @@ class UnexpectedTableStructure(UserWarning):
 return 'Unexpected table structure; may not translate correctly to 
CQL. ' + self.msg
 
 SYSTEM_KEYSPACES = ('system', 'system_traces', 'system_auth')
+NONALTERBALE_KEYSPACES = ('system', 'system_traces')
 
 class Cql3ParsingRuleSet(CqlParsingRuleSet):
 keywords = set((
@@ -306,6 +307,8 @@ JUNK ::= /([ 
\t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ;
 
  ::= ksname= ;
 
+ ::= ksname= ;
+
  ::= 
| 
| ;
@@ -686,6 +689,11 @@ def ks_name_completer(ctxt, cass):
 ksnames = [n for n in cass.get_keyspace_names() if n not in 
SYSTEM_KEYSPACES]
 return map(maybe_escape_name, ksnames)
 
+@completer_for('alterableKeyspaceName', 'ksname')
+def ks_name_completer(ctxt, cass):
+ksnames = [n for n in cass.get_keyspace_names() if n not in 
NONALTERBALE_KEYSPACES]
+return map(maybe_escape_name, ksnames)
+
 @completer_for('columnFamilyName', 'ksname')
 def cf_ks_name_completer(ctxt, cass):
 return [maybe_escape_name(ks) + '.' for ks in cass.get_keyspace_names()]
@@ -1242,7 +1250,7 @@ def alter_table_col_completer(ctxt, cass):
 explain_completion('alterInstructions', 'newcol', '')
 
 syntax_rules += r'''
- ::= "ALTER" ( "KEYSPACE" | "SCHEMA" ) 
ks=
+ ::= "ALTER" ( "KEYSPACE" | "SCHEMA" ) 
ks=
  "WITH"  ( "AND"  )*
;
 '''
@@ -1295,7 +1303,7 @@ syntax_rules += r'''
  ;
 
  ::= ( "ALL" "KEYSPACES" )
- | ( "KEYSPACE"  )
+ | ( "KEYSPACE"  )
  | ( "TABLE"?  )
  ;
 '''

http://git-wip-us.apache.org/repos/asf/cassandra/blob/26596406/src/java/org/apache/cassandra/auth/Auth.java
--
diff --g

git commit: Simplify auth setup and make system_auth ks alterable

2013-02-13 Thread aleksey
Updated Branches:
  refs/heads/cassandra-1.2 e531be77a -> 265964064


Simplify auth setup and make system_auth ks alterable

Patch by Aleksey Yeschenko; reviewed by Jonathan Ellis for
CASSANDRA-5112


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/26596406
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/26596406
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/26596406

Branch: refs/heads/cassandra-1.2
Commit: 265964064bd5012b871101e884d7e2032a44e32a
Parents: e531be7
Author: Aleksey Yeschenko 
Authored: Thu Feb 14 01:19:04 2013 +0300
Committer: Aleksey Yeschenko 
Committed: Thu Feb 14 01:19:04 2013 +0300

--
 CHANGES.txt|1 +
 bin/cqlsh  |2 +-
 pylib/cqlshlib/cql3handling.py |   12 +-
 src/java/org/apache/cassandra/auth/Auth.java   |  132 +--
 .../org/apache/cassandra/config/CFMetaData.java|8 +-
 .../cassandra/config/DatabaseDescriptor.java   |4 +-
 .../org/apache/cassandra/config/KSMetaData.java|7 -
 src/java/org/apache/cassandra/config/Schema.java   |3 +-
 .../org/apache/cassandra/cql3/QueryProcessor.java  |4 +-
 .../cql3/statements/ListUsersStatement.java|2 +-
 .../apache/cassandra/service/CassandraDaemon.java  |4 -
 .../org/apache/cassandra/service/ClientState.java  |   14 ++-
 .../apache/cassandra/service/MigrationManager.java |7 +-
 .../apache/cassandra/service/StorageService.java   |   10 +-
 14 files changed, 153 insertions(+), 57 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/26596406/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 5dd2499..3d0f633 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -18,6 +18,7 @@
  * Implement caching of authorization results (CASSANDRA-4295)
  * Add support for LZ4 compression (CASSANDRA-5038)
  * Fix missing columns in wide rows queries (CASSANDRA-5225)
+ * Simplify auth setup and make system_auth ks alterable (CASSANDRA-5112)
 
 
 1.2.1

http://git-wip-us.apache.org/repos/asf/cassandra/blob/26596406/bin/cqlsh
--
diff --git a/bin/cqlsh b/bin/cqlsh
index 4f58bdc..6db59a3 100755
--- a/bin/cqlsh
+++ b/bin/cqlsh
@@ -173,7 +173,7 @@ else:
 
 debug_completion = bool(os.environ.get('CQLSH_DEBUG_COMPLETION', '') == 'YES')
 
-SYSTEM_KEYSPACES = ('system', 'system_traces', 'system_auth')
+SYSTEM_KEYSPACES = ('system', 'system_traces')
 
 # we want the cql parser to understand our cqlsh-specific commands too
 my_commands_ending_with_newline = (

http://git-wip-us.apache.org/repos/asf/cassandra/blob/26596406/pylib/cqlshlib/cql3handling.py
--
diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py
index 27bd67b..def573e 100644
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@ -39,6 +39,7 @@ class UnexpectedTableStructure(UserWarning):
 return 'Unexpected table structure; may not translate correctly to 
CQL. ' + self.msg
 
 SYSTEM_KEYSPACES = ('system', 'system_traces', 'system_auth')
+NONALTERBALE_KEYSPACES = ('system', 'system_traces')
 
 class Cql3ParsingRuleSet(CqlParsingRuleSet):
 keywords = set((
@@ -306,6 +307,8 @@ JUNK ::= /([ 
\t\r\f\v]+|(--|[/][/])[^\n\r]*([\n\r]|$)|[/][*].*?[*][/])/ ;
 
  ::= ksname= ;
 
+ ::= ksname= ;
+
  ::= 
| 
| ;
@@ -686,6 +689,11 @@ def ks_name_completer(ctxt, cass):
 ksnames = [n for n in cass.get_keyspace_names() if n not in 
SYSTEM_KEYSPACES]
 return map(maybe_escape_name, ksnames)
 
+@completer_for('alterableKeyspaceName', 'ksname')
+def ks_name_completer(ctxt, cass):
+ksnames = [n for n in cass.get_keyspace_names() if n not in 
NONALTERBALE_KEYSPACES]
+return map(maybe_escape_name, ksnames)
+
 @completer_for('columnFamilyName', 'ksname')
 def cf_ks_name_completer(ctxt, cass):
 return [maybe_escape_name(ks) + '.' for ks in cass.get_keyspace_names()]
@@ -1242,7 +1250,7 @@ def alter_table_col_completer(ctxt, cass):
 explain_completion('alterInstructions', 'newcol', '')
 
 syntax_rules += r'''
- ::= "ALTER" ( "KEYSPACE" | "SCHEMA" ) 
ks=
+ ::= "ALTER" ( "KEYSPACE" | "SCHEMA" ) 
ks=
  "WITH"  ( "AND"  )*
;
 '''
@@ -1295,7 +1303,7 @@ syntax_rules += r'''
  ;
 
  ::= ( "ALL" "KEYSPACES" )
- | ( "KEYSPACE"  )
+ | ( "KEYSPACE"  )
  | ( "TABLE"?  )
  ;
 '''

http://git-wip-us.apache.org/repos/asf/cassandra/blob/26596406/src/java/org/apache/cassandra/auth/Auth.java
-