Merge branch 'cassandra-3.0' into cassandra-3.11

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

Branch: refs/heads/cassandra-3.11
Commit: 2fd33ba9d70684b6b2da22d045df49bfe70451fa
Parents: 61a47af d9eabd3
Author: Aleksey Yeschenko <alek...@yeschenko.com>
Authored: Thu Aug 3 14:15:36 2017 +0100
Committer: Aleksey Yeschenko <alek...@yeschenko.com>
Committed: Thu Aug 3 14:15:36 2017 +0100

----------------------------------------------------------------------
 CHANGES.txt                                            |  1 +
 .../org/apache/cassandra/schema/SchemaKeyspace.java    |  9 +++++++++
 .../cassandra/cql3/validation/operations/DropTest.java | 13 +++++++++++++
 3 files changed, 23 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2fd33ba9/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 3b0524b,799e7f4..45ed523
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,9 -1,5 +1,10 @@@
 -3.0.15
 +3.11.1
 + * "ignore" option is ignored in sstableloader (CASSANDRA-13721)
 + * Deadlock in AbstractCommitLogSegmentManager (CASSANDRA-13652)
 + * Duplicate the buffer before passing it to analyser in SASI operation 
(CASSANDRA-13512)
 + * Properly evict pstmts from prepared statements cache (CASSANDRA-13641)
 +Merged from 3.0:
+  * Drop table should remove corresponding entries in dropped_columns table 
(CASSANDRA-13730)
   * Log warn message until legacy auth tables have been migrated 
(CASSANDRA-13371)
   * Fix incorrect [2.1 <- 3.0] serialization of counter cells created in 2.0 
(CASSANDRA-13691)
   * Fix invalid writetime for null cells (CASSANDRA-13711)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2fd33ba9/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/schema/SchemaKeyspace.java
index 03c393f,06450f1..1f8d2fc
--- a/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
+++ b/src/java/org/apache/cassandra/schema/SchemaKeyspace.java
@@@ -646,86 -617,99 +647,94 @@@ public final class SchemaKeyspac
          return Maps.difference(beforeMap, afterMap);
      }
  
 -    public static Mutation makeDropTableMutation(KeyspaceMetadata keyspace, 
CFMetaData table, long timestamp)
 +    public static Mutation.SimpleBuilder 
makeDropTableMutation(KeyspaceMetadata keyspace, CFMetaData table, long 
timestamp)
      {
          // Include the serialized keyspace in case the target node missed a 
CREATE KEYSPACE migration (see CASSANDRA-5631).
 -        Mutation mutation = makeCreateKeyspaceMutation(keyspace.name, 
keyspace.params, timestamp);
 +        Mutation.SimpleBuilder builder = 
makeCreateKeyspaceMutation(keyspace.name, keyspace.params, timestamp);
  
 -        RowUpdateBuilder.deleteRow(Tables, timestamp, mutation, table.cfName);
 +        builder.update(Tables).row(table.cfName).delete();
  
          for (ColumnDefinition column : table.allColumns())
 -            dropColumnFromSchemaMutation(table, column, timestamp, mutation);
 +            dropColumnFromSchemaMutation(table, column, builder);
  
+         for (CFMetaData.DroppedColumn column : 
table.getDroppedColumns().values())
 -            dropDroppedColumnFromSchemaMutation(table, column, timestamp, 
mutation);
++            dropDroppedColumnFromSchemaMutation(table, column, timestamp, 
builder);
+ 
          for (TriggerMetadata trigger : table.getTriggers())
 -            dropTriggerFromSchemaMutation(table, trigger, timestamp, 
mutation);
 +            dropTriggerFromSchemaMutation(table, trigger, builder);
  
          for (IndexMetadata index : table.getIndexes())
 -            dropIndexFromSchemaMutation(table, index, timestamp, mutation);
 +            dropIndexFromSchemaMutation(table, index, builder);
  
 -        return mutation;
 +        return builder;
      }
  
 -    private static void addColumnToSchemaMutation(CFMetaData table, 
ColumnDefinition column, long timestamp, Mutation mutation)
 +    private static void addColumnToSchemaMutation(CFMetaData table, 
ColumnDefinition column, Mutation.SimpleBuilder builder)
      {
 -        RowUpdateBuilder adder = new RowUpdateBuilder(Columns, timestamp, 
mutation).clustering(table.cfName, column.name.toString());
 -
          AbstractType<?> type = column.type;
          if (type instanceof ReversedType)
              type = ((ReversedType) type).baseType;
  
 -        adder.add("column_name_bytes", column.name.bytes)
 -             .add("kind", column.kind.toString().toLowerCase())
 -             .add("position", column.position())
 -             .add("clustering_order", 
column.clusteringOrder().toString().toLowerCase())
 -             .add("type", type.asCQL3Type().toString())
 -             .build();
 +        builder.update(Columns)
 +               .row(table.cfName, column.name.toString())
 +               .add("column_name_bytes", column.name.bytes)
 +               .add("kind", column.kind.toString().toLowerCase())
 +               .add("position", column.position())
 +               .add("clustering_order", 
column.clusteringOrder().toString().toLowerCase())
 +               .add("type", type.asCQL3Type().toString());
      }
  
 -    private static void dropColumnFromSchemaMutation(CFMetaData table, 
ColumnDefinition column, long timestamp, Mutation mutation)
 +    private static void dropColumnFromSchemaMutation(CFMetaData table, 
ColumnDefinition column, Mutation.SimpleBuilder builder)
      {
          // Note: we do want to use name.toString(), not name.bytes directly 
for backward compatibility (For CQL3, this won't make a difference).
 -        RowUpdateBuilder.deleteRow(Columns, timestamp, mutation, 
table.cfName, column.name.toString());
 +        builder.update(Columns).row(table.cfName, 
column.name.toString()).delete();
      }
  
 -    private static void dropDroppedColumnFromSchemaMutation(CFMetaData table, 
DroppedColumn column, long timestamp, Mutation mutation)
 +    private static void addDroppedColumnToSchemaMutation(CFMetaData table, 
CFMetaData.DroppedColumn column, Mutation.SimpleBuilder builder)
      {
 -        RowUpdateBuilder.deleteRow(DroppedColumns, timestamp, mutation, 
table.cfName, column.name);
 +        builder.update(DroppedColumns)
 +               .row(table.cfName, column.name)
 +               .add("dropped_time", new 
Date(TimeUnit.MICROSECONDS.toMillis(column.droppedTime)))
 +               .add("type", 
expandUserTypes(column.type).asCQL3Type().toString());
      }
  
 -    private static void addDroppedColumnToSchemaMutation(CFMetaData table, 
CFMetaData.DroppedColumn column, long timestamp, Mutation mutation)
++    private static void dropDroppedColumnFromSchemaMutation(CFMetaData table, 
DroppedColumn column, long timestamp, Mutation.SimpleBuilder builder)
+     {
 -        RowUpdateBuilder adder = new RowUpdateBuilder(DroppedColumns, 
timestamp, mutation).clustering(table.cfName, column.name);
 -
 -        adder.add("dropped_time", new 
Date(TimeUnit.MICROSECONDS.toMillis(column.droppedTime)))
 -             .add("type", 
expandUserTypes(column.type).asCQL3Type().toString())
 -             .build();
++        builder.update(DroppedColumns).row(table.cfName, 
column.name).delete();
+     }
+ 
 -    private static void addTriggerToSchemaMutation(CFMetaData table, 
TriggerMetadata trigger, long timestamp, Mutation mutation)
 +    private static void addTriggerToSchemaMutation(CFMetaData table, 
TriggerMetadata trigger, Mutation.SimpleBuilder builder)
      {
 -        new RowUpdateBuilder(Triggers, timestamp, mutation)
 -            .clustering(table.cfName, trigger.name)
 -            .frozenMap("options", Collections.singletonMap("class", 
trigger.classOption))
 -            .build();
 +        builder.update(Triggers)
 +               .row(table.cfName, trigger.name)
 +               .add("options", Collections.singletonMap("class", 
trigger.classOption));
      }
  
 -    private static void dropTriggerFromSchemaMutation(CFMetaData table, 
TriggerMetadata trigger, long timestamp, Mutation mutation)
 +    private static void dropTriggerFromSchemaMutation(CFMetaData table, 
TriggerMetadata trigger, Mutation.SimpleBuilder builder)
      {
 -        RowUpdateBuilder.deleteRow(Triggers, timestamp, mutation, 
table.cfName, trigger.name);
 +        builder.update(Triggers).row(table.cfName, trigger.name).delete();
      }
  
 -    public static Mutation makeCreateViewMutation(KeyspaceMetadata keyspace, 
ViewDefinition view, long timestamp)
 +    public static Mutation.SimpleBuilder 
makeCreateViewMutation(KeyspaceMetadata keyspace, ViewDefinition view, long 
timestamp)
      {
          // Include the serialized keyspace in case the target node missed a 
CREATE KEYSPACE migration (see CASSANDRA-5631).
 -        Mutation mutation = makeCreateKeyspaceMutation(keyspace.name, 
keyspace.params, timestamp);
 -        addViewToSchemaMutation(view, timestamp, true, mutation);
 -        return mutation;
 +        Mutation.SimpleBuilder builder = 
makeCreateKeyspaceMutation(keyspace.name, keyspace.params, timestamp);
 +        addViewToSchemaMutation(view, true, builder);
 +        return builder;
      }
  
 -    private static void addViewToSchemaMutation(ViewDefinition view, long 
timestamp, boolean includeColumns, Mutation mutation)
 +    private static void addViewToSchemaMutation(ViewDefinition view, boolean 
includeColumns, Mutation.SimpleBuilder builder)
      {
 -        RowUpdateBuilder builder = new RowUpdateBuilder(Views, timestamp, 
mutation)
 -            .clustering(view.viewName);
 -
          CFMetaData table = view.metadata;
 +        Row.SimpleBuilder rowBuilder = builder.update(Views)
 +                                              .row(view.viewName)
 +                                              .add("include_all_columns", 
view.includeAllColumns)
 +                                              .add("base_table_id", 
view.baseTableId)
 +                                              .add("base_table_name", 
view.baseTableMetadata().cfName)
 +                                              .add("where_clause", 
view.whereClause)
 +                                              .add("id", table.cfId);
  
 -        builder.add("include_all_columns", view.includeAllColumns)
 -               .add("base_table_id", view.baseTableId)
 -               .add("base_table_name", view.baseTableMetadata().cfName)
 -               .add("where_clause", view.whereClause)
 -               .add("id", table.cfId);
 -
 -        addTableParamsToSchemaMutation(table.params, builder);
 +        addTableParamsToRowBuilder(table.params, rowBuilder);
  
          if (includeColumns)
          {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to