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 2009/10/28 16:11:14 UTC

svn commit: r830569 - in /incubator/cassandra/branches/cassandra-0.4: CHANGES.txt src/java/org/apache/cassandra/service/CassandraServer.java test/system/test_server.py

Author: jbellis
Date: Wed Oct 28 15:11:13 2009
New Revision: 830569

URL: http://svn.apache.org/viewvc?rev=830569&view=rev
Log:
fix get (not get_slice) of entire supercolumn.  patch by jbellis; reviewed by Stu Hood for CASSANDRA-508

Modified:
    incubator/cassandra/branches/cassandra-0.4/CHANGES.txt
    incubator/cassandra/branches/cassandra-0.4/src/java/org/apache/cassandra/service/CassandraServer.java
    incubator/cassandra/branches/cassandra-0.4/test/system/test_server.py

Modified: incubator/cassandra/branches/cassandra-0.4/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.4/CHANGES.txt?rev=830569&r1=830568&r2=830569&view=diff
==============================================================================
--- incubator/cassandra/branches/cassandra-0.4/CHANGES.txt (original)
+++ incubator/cassandra/branches/cassandra-0.4/CHANGES.txt Wed Oct 28 15:11:13 2009
@@ -6,6 +6,7 @@
  * Improve default garbage collector options (CASSANDRA-504)
  * Add "nodeprobe flush" (CASSANDRA-505)
  * remove NotFoundException from get_slice throws list (CASSANDRA-518)
+ * fix get (not get_slice) of entire supercolumn (CASSANDRA-508)
 
 
 0.4.1

Modified: incubator/cassandra/branches/cassandra-0.4/src/java/org/apache/cassandra/service/CassandraServer.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.4/src/java/org/apache/cassandra/service/CassandraServer.java?rev=830569&r1=830568&r2=830569&view=diff
==============================================================================
--- incubator/cassandra/branches/cassandra-0.4/src/java/org/apache/cassandra/service/CassandraServer.java (original)
+++ incubator/cassandra/branches/cassandra-0.4/src/java/org/apache/cassandra/service/CassandraServer.java Wed Oct 28 15:11:13 2009
@@ -257,7 +257,7 @@
     {
         if (logger.isDebugEnabled())
             logger.debug("get");
-        ColumnOrSuperColumn column = multiget(table, Arrays.asList(key), column_path, consistency_level).get(key);
+        ColumnOrSuperColumn column = multigetInternal(table, Arrays.asList(key), column_path, consistency_level).get(key);
         if (!column.isSetColumn() && !column.isSetSuper_column())
         {
             throw new NotFoundException();
@@ -314,7 +314,7 @@
     {
         ThriftValidation.validateColumnPath(table, column_path);
 
-        QueryPath path = new QueryPath(column_path.column_family, column_path.super_column);
+        QueryPath path = new QueryPath(column_path.column_family, column_path.column == null ? null : column_path.super_column);
         List<byte[]> nameAsList = Arrays.asList(column_path.column == null ? column_path.super_column : column_path.column);
         List<ReadCommand> commands = new ArrayList<ReadCommand>();
         for (String key: keys)

Modified: incubator/cassandra/branches/cassandra-0.4/test/system/test_server.py
URL: http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.4/test/system/test_server.py?rev=830569&r1=830568&r2=830569&view=diff
==============================================================================
--- incubator/cassandra/branches/cassandra-0.4/test/system/test_server.py (original)
+++ incubator/cassandra/branches/cassandra-0.4/test/system/test_server.py Wed Oct 28 15:11:13 2009
@@ -180,6 +180,11 @@
         _insert_super()
         _verify_super()
 
+    def test_super_get(self):
+        _insert_super()
+        result = client.get('Keyspace1', 'key1', ColumnPath('Super1', 'sc2'), ConsistencyLevel.ONE).super_column
+        assert result == _SUPER_COLUMNS[1], result
+
     def test_super_subcolumn_limit(self):
         _insert_super()
         p = SlicePredicate(slice_range=SliceRange('', '', False, 1))