Author: eevans
Date: Tue Dec 8 23:33:58 2009
New Revision: 888629
URL: http://svn.apache.org/viewvc?rev=888629&view=rev
Log:
super column support for counts
Patch by eevans; reviewed by jbellis
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java
URL:
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java?rev=888629&r1=888628&r2=888629&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java
(original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java
Tue Dec 8 23:33:58 2009
@@ -124,6 +124,7 @@
css_.out.println("del <ksp>.<cf>['<key>']['<col>']
Delete column.");
css_.out.println("del <ksp>.<cf>['<key>']['<super>']['<col>']
Delete sub column.");
css_.out.println("count <ksp>.<cf>['<key>']
Count columns in record.");
+ css_.out.println("count <ksp>.<cf>['<key>']['<super>'] Count
columns in a super column.");
}
private void cleanupAndExit()
@@ -140,7 +141,7 @@
return keyspacesMap.get(keyspace);
}
- private void executeCount(CommonTree ast) throws TException,
InvalidRequestException, UnavailableException, TimedOutException
+ private void executeCount(CommonTree ast) throws TException,
InvalidRequestException, UnavailableException, TimedOutException,
UnsupportedEncodingException
{
if (!CliMain.isConnected())
return;
@@ -156,18 +157,20 @@
String columnFamily = CliCompiler.getColumnFamily(columnFamilySpec);
int columnSpecCnt = CliCompiler.numColumnSpecifiers(columnFamilySpec);
+ ColumnParent colParent;
+
if (columnSpecCnt == 0)
{
- ColumnParent cp = new ColumnParent(columnFamily, null);
- int count = thriftClient_.get_count(tableName, key, cp,
ConsistencyLevel.ONE);
- css_.out.printf("%d columns\n", count);
+ colParent = new ColumnParent(columnFamily, null);
}
else
{
- //TODO could support sub columns?
- css_.err.println("Only column count for a top level row key
supported");
- return;
+ assert (columnSpecCnt == 1);
+ colParent = new ColumnParent(columnFamily,
CliCompiler.getColumn(columnFamilySpec, 0).getBytes("UTF-8"));
}
+
+ int count = thriftClient_.get_count(tableName, key, colParent,
ConsistencyLevel.ONE);
+ css_.out.printf("%d columns\n", count);
}
private void executeDelete(CommonTree ast) throws TException,
InvalidRequestException, UnavailableException, TimedOutException,
UnsupportedEncodingException