Author: jbellis
Date: Sat Jan 22 15:58:39 2011
New Revision: 1062181
URL: http://svn.apache.org/viewvc?rev=1062181&view=rev
Log:
makekeyspace argument to "describe keyspace" in CLIoptional
patch by Pavel Yaskevich; reviewed by jbellis for CASSANDRA-2029
Modified:
cassandra/branches/cassandra-0.7/CHANGES.txt
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/Cli.g
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliUserHelp.java
Modified: cassandra/branches/cassandra-0.7/CHANGES.txt
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1062181&r1=1062180&r2=1062181&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.7/CHANGES.txt Sat Jan 22 15:58:39 2011
@@ -28,6 +28,8 @@
* fix streaming of multiple CFs during bootstrap (CASSANDRA-1992)
* explicitly set JVM GC new generation size with -Xmn (CASSANDRA-1968)
* add short options for CLI flags (CASSANDRA-1565)
+ * make keyspace argument to "describe keyspace" in CLI optional
+ when authenticated to keyspace already (CASSANDRA-2029)
0.7.0-final
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/Cli.g
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/Cli.g?rev=1062181&r1=1062180&r2=1062181&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/Cli.g
(original)
+++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/Cli.g
Sat Jan 22 15:58:39 2011
@@ -321,8 +321,8 @@ showKeyspaces
;
describeTable
- : DESCRIBE KEYSPACE keyspace
- -> ^(NODE_DESCRIBE_TABLE keyspace)
+ : DESCRIBE KEYSPACE (keyspace)?
+ -> ^(NODE_DESCRIBE_TABLE (keyspace)?)
;
useKeyspace
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java?rev=1062181&r1=1062180&r2=1062181&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java
(original)
+++
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliClient.java
Sat Jan 22 15:58:39 2011
@@ -1336,17 +1336,30 @@ public class CliClient extends CliUserHe
}
}
- // DESCRIBE KEYSPACE <keyspace_name>
+ // DESCRIBE KEYSPACE (<keyspace_name>)?
private void executeDescribeKeySpace(Tree statement) throws TException,
InvalidRequestException
{
if (!CliMain.isConnected())
return;
- // Get keySpace name
- String keySpaceName = CliCompiler.getKeySpace(statement,
thriftClient.describe_keyspaces());
- if( keySpaceName == null ) {
- sessionState.out.println("Keyspace argument required");
+ String keySpaceName;
+
+ // Get keyspace name
+ if (statement.getChildCount() == 0)
+ {
+ // trying to use current keyspace if keyspace name was not given
+ keySpaceName = keySpace;
+ }
+ else
+ {
+ // we have keyspace name as an argument
+ keySpaceName = CliCompiler.getKeySpace(statement,
thriftClient.describe_keyspaces());
+ }
+
+ if (keySpaceName == null)
+ {
+ sessionState.out.println("Keyspace argument required if you are
not authorized in any keyspace.");
return;
}
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliUserHelp.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliUserHelp.java?rev=1062181&r1=1062180&r2=1062181&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliUserHelp.java
(original)
+++
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/cli/CliUserHelp.java
Sat Jan 22 15:58:39 2011
@@ -97,8 +97,9 @@ public class CliUserHelp {
break;
case CliParser.NODE_DESCRIBE_TABLE:
- state.out.println("describe keyspace <keyspace>;\n");
- state.out.println("Show additional information about the
specified keyspace.\n");
+ state.out.println("describe keyspace (<keyspace>)?;\n");
+ state.out.println("Show additional information about the
specified keyspace.");
+ state.out.println("Command could be used without <keyspace>
argument if you are already authenticated to keyspace.\n");
state.out.println("example:");
state.out.println("describe keyspace system;");
break;
@@ -321,7 +322,7 @@ public class CliUserHelp {
state.out.println("help <command>; Display
detailed, command-specific help.");
state.out.println("connect <hostname>/<port>;
Connect to thrift service.");
state.out.println("use <keyspace> [<username> 'password'];
Switch to a keyspace.");
- state.out.println("describe keyspace <keyspacename>;
Describe keyspace.");
+ state.out.println("describe keyspace (<keyspacename>)?;
Describe keyspace.");
state.out.println("exit;
Exit CLI.");
state.out.println("quit;
Exit CLI.");
state.out.println("show cluster name;
Display cluster name.");