You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by al...@apache.org on 2016/08/08 17:42:00 UTC

[1/6] cassandra git commit: Fix encoding of cell names for super columns (CASSANDRA-12235 follow-up)

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 47e63feb1 -> 676b6a891
  refs/heads/cassandra-3.9 ae816cb84 -> 02ebf875b
  refs/heads/trunk e9132b29a -> 0565690de


Fix encoding of cell names for super columns (CASSANDRA-12235 follow-up)

patch by Sylvain Lebresne; reviewed by Aleksey Yeschenko for
CASSANDRA-12335


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/676b6a89
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/676b6a89
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/676b6a89

Branch: refs/heads/cassandra-3.0
Commit: 676b6a891d110cbbc5278a0fe06c4d937648ddea
Parents: 47e63fe
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Fri Aug 5 09:36:09 2016 +0200
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Mon Aug 8 18:40:31 2016 +0100

----------------------------------------------------------------------
 .../org/apache/cassandra/db/LegacyLayout.java   | 23 ++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/676b6a89/src/java/org/apache/cassandra/db/LegacyLayout.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/LegacyLayout.java b/src/java/org/apache/cassandra/db/LegacyLayout.java
index 3feb1f4..1dd4c5d 100644
--- a/src/java/org/apache/cassandra/db/LegacyLayout.java
+++ b/src/java/org/apache/cassandra/db/LegacyLayout.java
@@ -264,6 +264,8 @@ public abstract class LegacyLayout
         // We use comparator.size() rather than clustering.size() because of static clusterings
         int clusteringSize = metadata.comparator.size();
         int size = clusteringSize + (metadata.isDense() ? 0 : 1) + (collectionElement == null ? 0 : 1);
+        if (metadata.isSuper())
+            size = clusteringSize + 1;
         ByteBuffer[] values = new ByteBuffer[size];
         for (int i = 0; i < clusteringSize; i++)
         {
@@ -282,10 +284,23 @@ public abstract class LegacyLayout
             values[i] = v;
         }
 
-        if (!metadata.isDense())
-            values[clusteringSize] = columnName;
-        if (collectionElement != null)
-            values[clusteringSize + 1] = collectionElement;
+        if (metadata.isSuper())
+        {
+            // We need to set the "column" (in thrift terms) name, i.e. the value corresponding to the subcomparator.
+            // What it is depends if this a cell for a declared "static" column or a "dynamic" column part of the
+            // super-column internal map.
+            assert columnName != null; // This should never be null for supercolumns, see decodeForSuperColumn() above
+            values[clusteringSize] = columnName.equals(CompactTables.SUPER_COLUMN_MAP_COLUMN)
+                                   ? collectionElement
+                                   : columnName;
+        }
+        else
+        {
+            if (!metadata.isDense())
+                values[clusteringSize] = columnName;
+            if (collectionElement != null)
+                values[clusteringSize + 1] = collectionElement;
+        }
 
         return CompositeType.build(isStatic, values);
     }


[3/6] cassandra git commit: Fix encoding of cell names for super columns (CASSANDRA-12235 follow-up)

Posted by al...@apache.org.
Fix encoding of cell names for super columns (CASSANDRA-12235 follow-up)

patch by Sylvain Lebresne; reviewed by Aleksey Yeschenko for
CASSANDRA-12335


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/676b6a89
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/676b6a89
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/676b6a89

Branch: refs/heads/trunk
Commit: 676b6a891d110cbbc5278a0fe06c4d937648ddea
Parents: 47e63fe
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Fri Aug 5 09:36:09 2016 +0200
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Mon Aug 8 18:40:31 2016 +0100

----------------------------------------------------------------------
 .../org/apache/cassandra/db/LegacyLayout.java   | 23 ++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/676b6a89/src/java/org/apache/cassandra/db/LegacyLayout.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/LegacyLayout.java b/src/java/org/apache/cassandra/db/LegacyLayout.java
index 3feb1f4..1dd4c5d 100644
--- a/src/java/org/apache/cassandra/db/LegacyLayout.java
+++ b/src/java/org/apache/cassandra/db/LegacyLayout.java
@@ -264,6 +264,8 @@ public abstract class LegacyLayout
         // We use comparator.size() rather than clustering.size() because of static clusterings
         int clusteringSize = metadata.comparator.size();
         int size = clusteringSize + (metadata.isDense() ? 0 : 1) + (collectionElement == null ? 0 : 1);
+        if (metadata.isSuper())
+            size = clusteringSize + 1;
         ByteBuffer[] values = new ByteBuffer[size];
         for (int i = 0; i < clusteringSize; i++)
         {
@@ -282,10 +284,23 @@ public abstract class LegacyLayout
             values[i] = v;
         }
 
-        if (!metadata.isDense())
-            values[clusteringSize] = columnName;
-        if (collectionElement != null)
-            values[clusteringSize + 1] = collectionElement;
+        if (metadata.isSuper())
+        {
+            // We need to set the "column" (in thrift terms) name, i.e. the value corresponding to the subcomparator.
+            // What it is depends if this a cell for a declared "static" column or a "dynamic" column part of the
+            // super-column internal map.
+            assert columnName != null; // This should never be null for supercolumns, see decodeForSuperColumn() above
+            values[clusteringSize] = columnName.equals(CompactTables.SUPER_COLUMN_MAP_COLUMN)
+                                   ? collectionElement
+                                   : columnName;
+        }
+        else
+        {
+            if (!metadata.isDense())
+                values[clusteringSize] = columnName;
+            if (collectionElement != null)
+                values[clusteringSize + 1] = collectionElement;
+        }
 
         return CompositeType.build(isStatic, values);
     }


[5/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.9

Posted by al...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.9


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/02ebf875
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/02ebf875
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/02ebf875

Branch: refs/heads/cassandra-3.9
Commit: 02ebf875b1a07c79e18bc1f21878c51ed67cb9c4
Parents: ae816cb 676b6a8
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Mon Aug 8 18:41:23 2016 +0100
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Mon Aug 8 18:41:23 2016 +0100

----------------------------------------------------------------------

----------------------------------------------------------------------



[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.9

Posted by al...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.9


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/02ebf875
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/02ebf875
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/02ebf875

Branch: refs/heads/trunk
Commit: 02ebf875b1a07c79e18bc1f21878c51ed67cb9c4
Parents: ae816cb 676b6a8
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Mon Aug 8 18:41:23 2016 +0100
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Mon Aug 8 18:41:23 2016 +0100

----------------------------------------------------------------------

----------------------------------------------------------------------



[6/6] cassandra git commit: Merge branch 'cassandra-3.9' into trunk

Posted by al...@apache.org.
Merge branch 'cassandra-3.9' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0565690d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0565690d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0565690d

Branch: refs/heads/trunk
Commit: 0565690ded9d1922cf318d170d83cbc94888d2be
Parents: e9132b2 02ebf87
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Mon Aug 8 18:41:32 2016 +0100
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Mon Aug 8 18:41:32 2016 +0100

----------------------------------------------------------------------

----------------------------------------------------------------------



[2/6] cassandra git commit: Fix encoding of cell names for super columns (CASSANDRA-12235 follow-up)

Posted by al...@apache.org.
Fix encoding of cell names for super columns (CASSANDRA-12235 follow-up)

patch by Sylvain Lebresne; reviewed by Aleksey Yeschenko for
CASSANDRA-12335


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/676b6a89
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/676b6a89
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/676b6a89

Branch: refs/heads/cassandra-3.9
Commit: 676b6a891d110cbbc5278a0fe06c4d937648ddea
Parents: 47e63fe
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Fri Aug 5 09:36:09 2016 +0200
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Mon Aug 8 18:40:31 2016 +0100

----------------------------------------------------------------------
 .../org/apache/cassandra/db/LegacyLayout.java   | 23 ++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/676b6a89/src/java/org/apache/cassandra/db/LegacyLayout.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/LegacyLayout.java b/src/java/org/apache/cassandra/db/LegacyLayout.java
index 3feb1f4..1dd4c5d 100644
--- a/src/java/org/apache/cassandra/db/LegacyLayout.java
+++ b/src/java/org/apache/cassandra/db/LegacyLayout.java
@@ -264,6 +264,8 @@ public abstract class LegacyLayout
         // We use comparator.size() rather than clustering.size() because of static clusterings
         int clusteringSize = metadata.comparator.size();
         int size = clusteringSize + (metadata.isDense() ? 0 : 1) + (collectionElement == null ? 0 : 1);
+        if (metadata.isSuper())
+            size = clusteringSize + 1;
         ByteBuffer[] values = new ByteBuffer[size];
         for (int i = 0; i < clusteringSize; i++)
         {
@@ -282,10 +284,23 @@ public abstract class LegacyLayout
             values[i] = v;
         }
 
-        if (!metadata.isDense())
-            values[clusteringSize] = columnName;
-        if (collectionElement != null)
-            values[clusteringSize + 1] = collectionElement;
+        if (metadata.isSuper())
+        {
+            // We need to set the "column" (in thrift terms) name, i.e. the value corresponding to the subcomparator.
+            // What it is depends if this a cell for a declared "static" column or a "dynamic" column part of the
+            // super-column internal map.
+            assert columnName != null; // This should never be null for supercolumns, see decodeForSuperColumn() above
+            values[clusteringSize] = columnName.equals(CompactTables.SUPER_COLUMN_MAP_COLUMN)
+                                   ? collectionElement
+                                   : columnName;
+        }
+        else
+        {
+            if (!metadata.isDense())
+                values[clusteringSize] = columnName;
+            if (collectionElement != null)
+                values[clusteringSize + 1] = collectionElement;
+        }
 
         return CompositeType.build(isStatic, values);
     }