Merge branch 'cassandra-3.11' into trunk

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

Branch: refs/heads/trunk
Commit: d8c549b689488e50ab398d52416e387860108037
Parents: 2ee9d68 e635317
Author: Benedict Elliott Smith <[email protected]>
Authored: Thu Nov 29 15:58:13 2018 +0000
Committer: Benedict Elliott Smith <[email protected]>
Committed: Thu Nov 29 15:58:13 2018 +0000

----------------------------------------------------------------------
 CHANGES.txt                                        |  1 +
 .../org/apache/cassandra/db/rows/AbstractRow.java  |  7 ++++++-
 .../org/apache/cassandra/db/rows/BTreeRow.java     | 16 +++++++++++++---
 src/java/org/apache/cassandra/db/rows/Row.java     | 17 ++++++++++++++++-
 .../cassandra/db/rows/UnfilteredSerializer.java    |  8 ++++----
 .../apache/cassandra/cql3/GcCompactionTest.java    |  2 +-
 .../validation/entities/SecondaryIndexTest.java    | 16 ++++++++--------
 .../db/SinglePartitionSliceCommandTest.java        |  2 +-
 8 files changed, 50 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8c549b6/CHANGES.txt
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8c549b6/src/java/org/apache/cassandra/db/rows/AbstractRow.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/rows/AbstractRow.java
index 24b088f,8558466..f719db5
--- a/src/java/org/apache/cassandra/db/rows/AbstractRow.java
+++ b/src/java/org/apache/cassandra/db/rows/AbstractRow.java
@@@ -91,19 -99,12 +91,24 @@@ public abstract class AbstractRow imple
              cd.validate();
      }
  
 +    public boolean hasInvalidDeletions()
 +    {
 +        if (primaryKeyLivenessInfo().isExpiring() && 
(primaryKeyLivenessInfo().ttl() < 0 || 
primaryKeyLivenessInfo().localExpirationTime() < 0))
 +            return true;
 +        if (!deletion().time().validate())
 +            return true;
 +        for (ColumnData cd : this)
 +            if (cd.hasInvalidDeletions())
 +                return true;
 +        return false;
 +    }
 +
+     public String toString()
+     {
+         return columnData().toString();
+     }
+ 
 -    public String toString(CFMetaData metadata)
 +    public String toString(TableMetadata metadata)
      {
          return toString(metadata, false);
      }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8c549b6/src/java/org/apache/cassandra/db/rows/BTreeRow.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/rows/BTreeRow.java
index fff7750,ba81a4e..dc3219a
--- a/src/java/org/apache/cassandra/db/rows/BTreeRow.java
+++ b/src/java/org/apache/cassandra/db/rows/BTreeRow.java
@@@ -192,9 -191,14 +192,14 @@@ public class BTreeRow extends AbstractR
          return clustering;
      }
  
 -    public Collection<ColumnDefinition> columns()
 +    public Collection<ColumnMetadata> columns()
      {
-         return Collections2.transform(this, ColumnData::column);
+         return Collections2.transform(columnData(), ColumnData::column);
+     }
+ 
+     public int columnCount()
+     {
+         return BTree.size(btree);
      }
  
      public LivenessInfo primaryKeyLivenessInfo()
@@@ -229,15 -233,20 +234,20 @@@
          return cd.getCell(path);
      }
  
 -    public ComplexColumnData getComplexColumnData(ColumnDefinition c)
 +    public ComplexColumnData getComplexColumnData(ColumnMetadata c)
      {
          assert c.isComplex();
 -        return (ComplexColumnData) BTree.<Object>find(btree, 
ColumnDefinition.asymmetricColumnDataComparator, c);
 +        return (ComplexColumnData) BTree.<Object>find(btree, 
ColumnMetadata.asymmetricColumnDataComparator, c);
      }
  
-     public int size()
+     @Override
+     public Collection<ColumnData> columnData()
      {
-         return BTree.size(btree);
+         return new AbstractCollection<ColumnData>()
+         {
+             @Override public Iterator<ColumnData> iterator() { return 
BTreeRow.this.iterator(); }
+             @Override public int size() { return BTree.size(btree); }
+         };
      }
  
      public Iterator<ColumnData> iterator()

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8c549b6/src/java/org/apache/cassandra/db/rows/Row.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/rows/Row.java
index 74c0040,9bff19d..0174adc
--- a/src/java/org/apache/cassandra/db/rows/Row.java
+++ b/src/java/org/apache/cassandra/db/rows/Row.java
@@@ -60,8 -60,14 +60,14 @@@ public interface Row extends Unfiltered
       * An in-natural-order collection of the columns for which data (incl. 
simple tombstones)
       * is present in this row.
       */
 -    public Collection<ColumnDefinition> columns();
 +    public Collection<ColumnMetadata> columns();
  
+ 
+     /**
+      * The number of columns for which data (incl. simple tombstones) is 
present in this row.
+      */
+     public int columnCount();
+ 
      /**
       * The row deletion.
       *

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8c549b6/src/java/org/apache/cassandra/db/rows/UnfilteredSerializer.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/rows/UnfilteredSerializer.java
index 89bc3d5,926f3ef..7b48652
--- a/src/java/org/apache/cassandra/db/rows/UnfilteredSerializer.java
+++ b/src/java/org/apache/cassandra/db/rows/UnfilteredSerializer.java
@@@ -227,9 -227,9 +227,9 @@@ public class UnfilteredSerialize
              header.writeDeletionTime(deletion.time(), out);
  
          if ((flags & HAS_ALL_COLUMNS) == 0)
-             Columns.serializer.serializeSubset(Collections2.transform(row, 
ColumnData::column), headerColumns, out);
+             Columns.serializer.serializeSubset(row.columns(), headerColumns, 
out);
  
 -        SearchIterator<ColumnDefinition, ColumnDefinition> si = 
headerColumns.iterator();
 +        SearchIterator<ColumnMetadata, ColumnMetadata> si = 
headerColumns.iterator();
  
          try
          {
@@@ -350,12 -350,12 +350,12 @@@
              size += header.deletionTimeSerializedSize(deletion.time());
  
          if (!hasAllColumns)
-             size += 
Columns.serializer.serializedSubsetSize(Collections2.transform(row, 
ColumnData::column), header.columns(isStatic));
+             size += Columns.serializer.serializedSubsetSize(row.columns(), 
header.columns(isStatic));
  
 -        SearchIterator<ColumnDefinition, ColumnDefinition> si = 
headerColumns.iterator();
 +        SearchIterator<ColumnMetadata, ColumnMetadata> si = 
headerColumns.iterator();
          for (ColumnData data : row)
          {
 -            ColumnDefinition column = si.next(data.column());
 +            ColumnMetadata column = si.next(data.column());
              assert column != null;
  
              if (data.column.isSimple())

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8c549b6/test/unit/org/apache/cassandra/cql3/GcCompactionTest.java
----------------------------------------------------------------------

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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d8c549b6/test/unit/org/apache/cassandra/db/SinglePartitionSliceCommandTest.java
----------------------------------------------------------------------


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to