Author: slebresne
Date: Thu May 19 14:00:48 2011
New Revision: 1124794
URL: http://svn.apache.org/viewvc?rev=1124794&view=rev
Log:
merge from 0.8
Modified:
cassandra/branches/cassandra-0.8.1/ (props changed)
cassandra/branches/cassandra-0.8.1/contrib/ (props changed)
cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
(props changed)
cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
(props changed)
cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
(props changed)
cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
(props changed)
cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
(props changed)
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cli/Cli.g
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cli/CliClient.java
Propchange: cassandra/branches/cassandra-0.8.1/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu May 19 14:00:48 2011
@@ -1,7 +1,7 @@
/cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7:1026516-1104371
+/cassandra/branches/cassandra-0.7:1026516-1104371,1124780
/cassandra/branches/cassandra-0.7.0:1053690-1055654
-/cassandra/branches/cassandra-0.8:1090935-1104595
+/cassandra/branches/cassandra-0.8:1090935-1104595,1124789
/cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
/incubator/cassandra/branches/cassandra-0.3:774578-796573
/incubator/cassandra/branches/cassandra-0.4:810145-834239,834349-834350
Propchange: cassandra/branches/cassandra-0.8.1/contrib/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu May 19 14:00:48 2011
@@ -1,7 +1,7 @@
/cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
-/cassandra/branches/cassandra-0.7/contrib:1026516-1104371
+/cassandra/branches/cassandra-0.7/contrib:1026516-1104371,1124780
/cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
-/cassandra/branches/cassandra-0.8/contrib:1090935-1104595
+/cassandra/branches/cassandra-0.8/contrib:1090935-1104595,1124789
/cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
/incubator/cassandra/branches/cassandra-0.3/contrib:774578-796573
/incubator/cassandra/branches/cassandra-0.4/contrib:810145-810987,810994-834239,834349-834350
Propchange:
cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu May 19 14:00:48 2011
@@ -1,7 +1,7 @@
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1104371
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1104371,1124780
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090935-1104595
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090935-1104595,1124789
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/Cassandra.java:774578-796573
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Cassandra.java:810145-834239,834349-834350
Propchange:
cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu May 19 14:00:48 2011
@@ -1,7 +1,7 @@
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1104371
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1104371,1124780
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090935-1104595
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090935-1104595,1124789
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1051699-1053689
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/column_t.java:774578-792198
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Column.java:810145-834239,834349-834350
Propchange:
cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu May 19 14:00:48 2011
@@ -1,7 +1,7 @@
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1026516-1104371
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1026516-1104371,1124780
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1090935-1104595
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1090935-1104595,1124789
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1051699-1053689
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:774578-796573
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:810145-834239,834349-834350
Propchange:
cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu May 19 14:00:48 2011
@@ -1,7 +1,7 @@
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1026516-1104371
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1026516-1104371,1124780
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1090935-1104595
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1090935-1104595,1124789
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1051699-1053689
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:774578-796573
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:810145-834239,834349-834350
Propchange:
cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu May 19 14:00:48 2011
@@ -1,7 +1,7 @@
/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:922689-1052356,1052358-1053452,1053454,1053456-1081914,1083000
-/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1026516-1104371
+/cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1026516-1104371,1124780
/cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1090935-1104595
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1090935-1104595,1124789
/cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1051699-1053689
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/superColumn_t.java:774578-792198
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:810145-834239,834349-834350
Modified:
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cli/Cli.g
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cli/Cli.g?rev=1124794&r1=1124793&r2=1124794&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cli/Cli.g
(original)
+++ cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cli/Cli.g
Thu May 19 14:00:48 2011
@@ -235,10 +235,10 @@ exitStatement
;
getStatement
- : GET columnFamilyExpr ('AS' typeIdentifier)?
- -> ^(NODE_THRIFT_GET columnFamilyExpr ( ^(CONVERT_TO_TYPE
typeIdentifier) )? )
- | GET columnFamily 'WHERE' getCondition ('AND' getCondition)* ('LIMIT'
limit=IntegerPositiveLiteral)*
- -> ^(NODE_THRIFT_GET_WITH_CONDITIONS columnFamily ^(CONDITIONS
getCondition+) ^(NODE_LIMIT $limit)*)
+ : GET columnFamilyExpr ('AS' typeIdentifier)? ('LIMIT'
limit=IntegerPositiveLiteral)?
+ -> ^(NODE_THRIFT_GET columnFamilyExpr ( ^(CONVERT_TO_TYPE
typeIdentifier) )? ^(NODE_LIMIT $limit)?)
+ | GET columnFamily 'WHERE' getCondition ('AND' getCondition)* ('LIMIT'
limit=IntegerPositiveLiteral)?
+ -> ^(NODE_THRIFT_GET_WITH_CONDITIONS columnFamily ^(CONDITIONS
getCondition+) ^(NODE_LIMIT $limit)?)
;
getCondition
Modified:
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cli/CliClient.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cli/CliClient.java?rev=1124794&r1=1124793&r2=1124794&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cli/CliClient.java
(original)
+++
cassandra/branches/cassandra-0.8.1/src/java/org/apache/cassandra/cli/CliClient.java
Thu May 19 14:00:48 2011
@@ -413,7 +413,7 @@ public class CliClient
sessionState.out.println(String.format("%s removed.", (columnSpecCnt
== 0) ? "row" : "column"));
}
- private void doSlice(String keyspace, ByteBuffer key, String columnFamily,
byte[] superColumnName)
+ private void doSlice(String keyspace, ByteBuffer key, String columnFamily,
byte[] superColumnName, int limit)
throws InvalidRequestException, UnavailableException,
TimedOutException, TException, IllegalAccessException, NotFoundException,
InstantiationException, NoSuchFieldException
{
@@ -421,7 +421,7 @@ public class CliClient
if(superColumnName != null)
parent.setSuper_column(superColumnName);
- SliceRange range = new SliceRange(ByteBufferUtil.EMPTY_BYTE_BUFFER,
ByteBufferUtil.EMPTY_BYTE_BUFFER, false, 1000000);
+ SliceRange range = new SliceRange(ByteBufferUtil.EMPTY_BYTE_BUFFER,
ByteBufferUtil.EMPTY_BYTE_BUFFER, false, limit);
SlicePredicate predicate = new
SlicePredicate().setColumn_names(null).setSlice_range(range);
CfDef cfDef = getCfDef(columnFamily);
@@ -530,10 +530,39 @@ public class CliClient
byte[] superColumnName = null;
ByteBuffer columnName;
+ Tree typeTree = null;
+ Tree limitTree = null;
+
+ int limit = 1000000;
+
+ if (statement.getChildCount() >= 2)
+ {
+ if (statement.getChild(1).getType() == CliParser.CONVERT_TO_TYPE)
+ {
+ typeTree = statement.getChild(1).getChild(0);
+ if (statement.getChildCount() == 3)
+ limitTree = statement.getChild(2).getChild(0);
+ }
+ else
+ {
+ limitTree = statement.getChild(1).getChild(0);
+ }
+ }
+
+ if (limitTree != null)
+ {
+ limit = Integer.parseInt(limitTree.getText());
+
+ if (limit == 0)
+ {
+ throw new IllegalArgumentException("LIMIT should be greater
than zero.");
+ }
+ }
+
// table.cf['key'] -- row slice
if (columnSpecCnt == 0)
{
- doSlice(keySpace, key, columnFamily, superColumnName);
+ doSlice(keySpace, key, columnFamily, superColumnName, limit);
return;
}
// table.cf['key']['column'] -- slice of a super, or get of a standard
@@ -544,7 +573,7 @@ public class CliClient
if (isSuper)
{
superColumnName = columnName.array();
- doSlice(keySpace, key, columnFamily, superColumnName);
+ doSlice(keySpace, key, columnFamily, superColumnName, limit);
return;
}
}
@@ -587,14 +616,12 @@ public class CliClient
byte[] columnValue = column.getValue();
String valueAsString;
-
+
// we have ^(CONVERT_TO_TYPE <type>) inside of GET statement
// which means that we should try to represent byte[] value according
// to specified type
- if (statement.getChildCount() == 2)
+ if (typeTree != null)
{
- // getting ^(CONVERT_TO_TYPE <type>) tree
- Tree typeTree = statement.getChild(1).getChild(0);
// .getText() will give us <type>
String typeName = CliUtils.unescapeSQLString(typeTree.getText());
// building AbstractType from <type>