You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jm...@apache.org on 2016/06/14 14:20:40 UTC

[1/3] cassandra git commit: Allow updating UDT nested in non-frozen map after ALTERing the UDT

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 73a8341fe -> 0d5984b9d
  refs/heads/trunk 719e7d662 -> b2352189f


Allow updating UDT nested in non-frozen map after ALTERing the UDT

Patch by Alex Petrov; reviewed by jknighton for CASSANDRA-11604


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

Branch: refs/heads/cassandra-3.0
Commit: 0d5984b9dbd54a42fbbe6a71a045b13a612208b6
Parents: 73a8341
Author: Alex Petrov <ol...@gmail.com>
Authored: Mon May 9 11:06:43 2016 +0200
Committer: Josh McKenzie <jm...@apache.org>
Committed: Tue Jun 14 10:18:18 2016 -0400

----------------------------------------------------------------------
 .../cassandra/db/rows/ComplexColumnData.java    |  1 -
 .../cql3/validation/entities/UserTypesTest.java | 28 ++++++++++++++++++++
 2 files changed, 28 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d5984b9/src/java/org/apache/cassandra/db/rows/ComplexColumnData.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/rows/ComplexColumnData.java b/src/java/org/apache/cassandra/db/rows/ComplexColumnData.java
index d67d079..2a8e843 100644
--- a/src/java/org/apache/cassandra/db/rows/ComplexColumnData.java
+++ b/src/java/org/apache/cassandra/db/rows/ComplexColumnData.java
@@ -251,7 +251,6 @@ public class ComplexColumnData extends ColumnData implements Iterable<Cell>
 
         public void addCell(Cell cell)
         {
-            assert cell.column().equals(column);
             builder.add(cell);
         }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d5984b9/test/unit/org/apache/cassandra/cql3/validation/entities/UserTypesTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/UserTypesTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/UserTypesTest.java
index d9df206..535f3e3 100644
--- a/test/unit/org/apache/cassandra/cql3/validation/entities/UserTypesTest.java
+++ b/test/unit/org/apache/cassandra/cql3/validation/entities/UserTypesTest.java
@@ -179,6 +179,34 @@ public class UserTypesTest extends CQLTester
     }
 
     @Test
+    public void testAlteringUserTypeNestedWithinNonFrozenMap() throws Throwable
+    {
+        String ut1 = createType("CREATE TYPE %s (a int)");
+        String columnType = KEYSPACE + "." + ut1;
+
+        createTable("CREATE TABLE %s (x int PRIMARY KEY, y map<text, frozen<" + columnType + ">>)");
+
+        execute("INSERT INTO %s (x, y) VALUES(1, {'firstValue': {a: 1}})");
+        assertRows(execute("SELECT * FROM %s"),
+                   row(1, map("firstValue", userType(1))));
+
+        flush();
+
+        execute("ALTER TYPE " + columnType + " ADD b int");
+        execute("UPDATE %s SET y['secondValue'] = {a: 2, b: 2} WHERE x = 1");
+
+        assertRows(execute("SELECT * FROM %s"),
+                   row(1, map("firstValue", userType(1),
+                              "secondValue", userType(2, 2))));
+
+        flush();
+
+        assertRows(execute("SELECT * FROM %s"),
+                   row(1, map("firstValue", userType(1),
+                              "secondValue", userType(2, 2))));
+    }
+
+    @Test
     public void testAlteringUserTypeNestedWithinSet() throws Throwable
     {
         // test frozen and non-frozen collections


[3/3] cassandra git commit: Merge branch 'cassandra-3.0' into trunk

Posted by jm...@apache.org.
Merge branch 'cassandra-3.0' into trunk


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

Branch: refs/heads/trunk
Commit: b2352189fecd2ac78600a09eab6323736c05506d
Parents: 719e7d6 0d5984b
Author: Josh McKenzie <jm...@apache.org>
Authored: Tue Jun 14 10:18:37 2016 -0400
Committer: Josh McKenzie <jm...@apache.org>
Committed: Tue Jun 14 10:18:37 2016 -0400

----------------------------------------------------------------------
 .../cql3/validation/entities/UserTypesTest.java | 28 ++++++++++++++++++++
 1 file changed, 28 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b2352189/test/unit/org/apache/cassandra/cql3/validation/entities/UserTypesTest.java
----------------------------------------------------------------------


[2/3] cassandra git commit: Allow updating UDT nested in non-frozen map after ALTERing the UDT

Posted by jm...@apache.org.
Allow updating UDT nested in non-frozen map after ALTERing the UDT

Patch by Alex Petrov; reviewed by jknighton for CASSANDRA-11604


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

Branch: refs/heads/trunk
Commit: 0d5984b9dbd54a42fbbe6a71a045b13a612208b6
Parents: 73a8341
Author: Alex Petrov <ol...@gmail.com>
Authored: Mon May 9 11:06:43 2016 +0200
Committer: Josh McKenzie <jm...@apache.org>
Committed: Tue Jun 14 10:18:18 2016 -0400

----------------------------------------------------------------------
 .../cassandra/db/rows/ComplexColumnData.java    |  1 -
 .../cql3/validation/entities/UserTypesTest.java | 28 ++++++++++++++++++++
 2 files changed, 28 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d5984b9/src/java/org/apache/cassandra/db/rows/ComplexColumnData.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/rows/ComplexColumnData.java b/src/java/org/apache/cassandra/db/rows/ComplexColumnData.java
index d67d079..2a8e843 100644
--- a/src/java/org/apache/cassandra/db/rows/ComplexColumnData.java
+++ b/src/java/org/apache/cassandra/db/rows/ComplexColumnData.java
@@ -251,7 +251,6 @@ public class ComplexColumnData extends ColumnData implements Iterable<Cell>
 
         public void addCell(Cell cell)
         {
-            assert cell.column().equals(column);
             builder.add(cell);
         }
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0d5984b9/test/unit/org/apache/cassandra/cql3/validation/entities/UserTypesTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/cql3/validation/entities/UserTypesTest.java b/test/unit/org/apache/cassandra/cql3/validation/entities/UserTypesTest.java
index d9df206..535f3e3 100644
--- a/test/unit/org/apache/cassandra/cql3/validation/entities/UserTypesTest.java
+++ b/test/unit/org/apache/cassandra/cql3/validation/entities/UserTypesTest.java
@@ -179,6 +179,34 @@ public class UserTypesTest extends CQLTester
     }
 
     @Test
+    public void testAlteringUserTypeNestedWithinNonFrozenMap() throws Throwable
+    {
+        String ut1 = createType("CREATE TYPE %s (a int)");
+        String columnType = KEYSPACE + "." + ut1;
+
+        createTable("CREATE TABLE %s (x int PRIMARY KEY, y map<text, frozen<" + columnType + ">>)");
+
+        execute("INSERT INTO %s (x, y) VALUES(1, {'firstValue': {a: 1}})");
+        assertRows(execute("SELECT * FROM %s"),
+                   row(1, map("firstValue", userType(1))));
+
+        flush();
+
+        execute("ALTER TYPE " + columnType + " ADD b int");
+        execute("UPDATE %s SET y['secondValue'] = {a: 2, b: 2} WHERE x = 1");
+
+        assertRows(execute("SELECT * FROM %s"),
+                   row(1, map("firstValue", userType(1),
+                              "secondValue", userType(2, 2))));
+
+        flush();
+
+        assertRows(execute("SELECT * FROM %s"),
+                   row(1, map("firstValue", userType(1),
+                              "secondValue", userType(2, 2))));
+    }
+
+    @Test
     public void testAlteringUserTypeNestedWithinSet() throws Throwable
     {
         // test frozen and non-frozen collections