You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2010/07/08 17:17:21 UTC
svn commit: r961795 [1/4] - in /cassandra/trunk: interface/
interface/thrift/gen-java/org/apache/cassandra/thrift/
src/java/org/apache/cassandra/cli/ src/java/org/apache/cassandra/config/
src/java/org/apache/cassandra/db/ src/java/org/apache/cassandra/...
Author: jbellis
Date: Thu Jul 8 15:17:20 2010
New Revision: 961795
URL: http://svn.apache.org/viewvc?rev=961795&view=rev
Log:
add single-node support for IndexType.KEYS. patch by jbellis; reviewed by mdennis for CASSANDRA-1154
Added:
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexClause.java
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexExpression.java
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/IndexOperator.java
- copied, changed from r961780, cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/KeyCount.java
- copied, changed from r961780, cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/KeySlice.java
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/RowPredicate.java
cassandra/trunk/src/java/org/apache/cassandra/db/IndexScanCommand.java
cassandra/trunk/src/java/org/apache/cassandra/db/marshal/LocalByPartionerType.java
cassandra/trunk/src/java/org/apache/cassandra/dht/LocalPartitioner.java
cassandra/trunk/src/java/org/apache/cassandra/dht/LocalToken.java
cassandra/trunk/src/java/org/apache/cassandra/service/IndexScanVerbHandler.java
- copied, changed from r961780, cassandra/trunk/src/java/org/apache/cassandra/service/RangeSliceVerbHandler.java
Modified:
cassandra/trunk/interface/cassandra.thrift
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthenticationRequest.java
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/CfDef.java
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Constants.java
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/KeySlice.java
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/KsDef.java
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/TokenRange.java
cassandra/trunk/src/java/org/apache/cassandra/cli/CliClient.java
cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java
cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
cassandra/trunk/src/java/org/apache/cassandra/config/KSMetaData.java
cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamily.java
cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java
cassandra/trunk/src/java/org/apache/cassandra/db/Table.java
cassandra/trunk/src/java/org/apache/cassandra/db/filter/QueryFilter.java
cassandra/trunk/src/java/org/apache/cassandra/db/migration/AddColumnFamily.java
cassandra/trunk/src/java/org/apache/cassandra/service/RangeSliceVerbHandler.java
cassandra/trunk/src/java/org/apache/cassandra/service/StorageProxy.java
cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraServer.java
cassandra/trunk/src/java/org/apache/cassandra/thrift/ThriftValidation.java
cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java
cassandra/trunk/test/system/__init__.py
cassandra/trunk/test/system/test_thrift_server.py
cassandra/trunk/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java
cassandra/trunk/test/unit/org/apache/cassandra/db/DefsTest.java
Modified: cassandra/trunk/interface/cassandra.thrift
URL: http://svn.apache.org/viewvc/cassandra/trunk/interface/cassandra.thrift?rev=961795&r1=961794&r2=961795&view=diff
==============================================================================
--- cassandra/trunk/interface/cassandra.thrift (original)
+++ cassandra/trunk/interface/cassandra.thrift Thu Jul 8 15:17:20 2010
@@ -46,7 +46,8 @@ namespace rb CassandraThrift
# for every edit that doesn't result in a change to major/minor.
#
# See the Semantic Versioning Specification (SemVer) http://semver.org.
-const string VERSION = "8.2.0"
+const string VERSION = "8.3.0"
+
#
# data structures
@@ -243,6 +244,22 @@ struct SlicePredicate {
2: optional SliceRange slice_range,
}
+enum IndexOperator {
+ EQ,
+}
+
+struct IndexExpression {
+ 1: required binary column_name,
+ 2: required IndexOperator op,
+ 3: required binary value,
+}
+
+struct IndexClause {
+ 1: required list<IndexExpression> expressions
+ 2: required i32 count=100,
+ 3: optional binary start_key,
+}
+
/**
The semantics of start keys and tokens are slightly different.
Keys are start-inclusive; tokens are start-exclusive. Token
@@ -259,6 +276,12 @@ struct KeyRange {
5: required i32 count=100
}
+struct RowPredicate {
+ 1: optional list<binary> keys,
+ 2: optional KeyRange key_range,
+ 3: optional IndexClause index_clause
+}
+
/**
A KeySlice is key followed by the data it maps to. A collection of KeySlice is returned by the get_range_slice operation.
@@ -271,6 +294,11 @@ struct KeySlice {
2: required list<ColumnOrSuperColumn> columns,
}
+struct KeyCount {
+ 1: required binary key,
+ 2: required i32 count
+}
+
struct Deletion {
1: required Clock clock,
2: optional binary super_column,
@@ -381,6 +409,7 @@ service Cassandra {
/**
Performs a get_slice for column_parent and predicate for the given keys in parallel.
+ @Deprecated; use `scan`
*/
map<binary,list<ColumnOrSuperColumn>> multiget_slice(1:required list<binary> keys,
2:required ColumnParent column_parent,
@@ -410,6 +439,7 @@ service Cassandra {
/**
returns a subset of columns for a range of keys.
+ @Deprecated; use `scan`
*/
list<KeySlice> get_range_slices(1:required ColumnParent column_parent,
2:required SlicePredicate predicate,
@@ -417,6 +447,20 @@ service Cassandra {
4:required ConsistencyLevel consistency_level=ONE)
throws (1:InvalidRequestException ire, 2:UnavailableException ue, 3:TimedOutException te),
+ /** Returns the subset of columns specified in SlicePredicate for the rows requested in RowsPredicate */
+ list<KeySlice> scan(1:required ColumnParent column_parent,
+ 2:required RowPredicate row_predicate,
+ 3:required SlicePredicate column_predicate,
+ 4:required ConsistencyLevel consistency_level=ONE)
+ throws (1:InvalidRequestException ire, 2:UnavailableException ue, 3:TimedOutException te),
+
+ /** Counts the subset of columns specified in SlicePredicate for the rows requested in RowsPredicate */
+ list<KeyCount> scan_count(1:required ColumnParent column_parent,
+ 2:required RowPredicate row_predicate,
+ 3:required SlicePredicate column_predicate,
+ 4:required ConsistencyLevel consistency_level=ONE)
+ throws (1:InvalidRequestException ire, 2:UnavailableException ue, 3:TimedOutException te),
+
# modification methods
/**
Modified: cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthenticationRequest.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthenticationRequest.java?rev=961795&r1=961794&r2=961795&view=diff
==============================================================================
--- cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthenticationRequest.java (original)
+++ cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/AuthenticationRequest.java Thu Jul 8 15:17:20 2010
@@ -283,15 +283,15 @@ public class AuthenticationRequest imple
case 1: // CREDENTIALS
if (field.type == TType.MAP) {
{
- TMap _map20 = iprot.readMapBegin();
- this.credentials = new HashMap<String,String>(2*_map20.size);
- for (int _i21 = 0; _i21 < _map20.size; ++_i21)
+ TMap _map28 = iprot.readMapBegin();
+ this.credentials = new HashMap<String,String>(2*_map28.size);
+ for (int _i29 = 0; _i29 < _map28.size; ++_i29)
{
- String _key22;
- String _val23;
- _key22 = iprot.readString();
- _val23 = iprot.readString();
- this.credentials.put(_key22, _val23);
+ String _key30;
+ String _val31;
+ _key30 = iprot.readString();
+ _val31 = iprot.readString();
+ this.credentials.put(_key30, _val31);
}
iprot.readMapEnd();
}
@@ -318,10 +318,10 @@ public class AuthenticationRequest imple
oprot.writeFieldBegin(CREDENTIALS_FIELD_DESC);
{
oprot.writeMapBegin(new TMap(TType.STRING, TType.STRING, this.credentials.size()));
- for (Map.Entry<String, String> _iter24 : this.credentials.entrySet())
+ for (Map.Entry<String, String> _iter32 : this.credentials.entrySet())
{
- oprot.writeString(_iter24.getKey());
- oprot.writeString(_iter24.getValue());
+ oprot.writeString(_iter32.getKey());
+ oprot.writeString(_iter32.getValue());
}
oprot.writeMapEnd();
}