Package org.apache.cassandra.db.rows
Class ComplexColumnData
- java.lang.Object
-
- org.apache.cassandra.db.rows.ColumnData
-
- org.apache.cassandra.db.rows.ComplexColumnData
-
- All Implemented Interfaces:
java.lang.Iterable<Cell<?>>
public class ComplexColumnData extends ColumnData implements java.lang.Iterable<Cell<?>>
The data for a complex column, that is it's cells and potential complex deletion time.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classComplexColumnData.Builder
-
Field Summary
-
Fields inherited from class org.apache.cassandra.db.rows.ColumnData
column, comparator
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <A> longaccumulate(BiLongAccumulator<A,Cell<?>> accumulator, A arg, long initialValue)longaccumulate(LongAccumulator<Cell<?>> accumulator, long initialValue)static ComplexColumnData.Builderbuilder()intcellsCount()DeletionTimecomplexDeletion()The complex deletion time of the complex column.intdataSize()The size of the data hold by thisColumnData.voiddigest(Digest digest)Adds the data to the provided digest.booleanequals(java.lang.Object other)ComplexColumnDatafilter(ColumnFilter filter, DeletionTime activeDeletion, DroppedColumn dropped, LivenessInfo rowLiveness)Cell<?>getCell(CellPath path)Cell<?>getCellByIndex(int idx)inthashCode()booleanhasInvalidDeletions()Validates the deletions (ttl and local deletion time) if any.java.util.Iterator<Cell<?>>iterator()ComplexColumnDatamarkCounterLocalToBeCleared()longmaxTimestamp()ComplexColumnDatapurge(DeletionPurger purger, int nowInSec)java.util.Iterator<Cell<?>>reverseIterator()longunsharedHeapSizeExcludingData()ComplexColumnDataupdateAllTimestamp(long newTimestamp)Returns a copy of the data where all timestamps for live data have replaced bynewTimestampand all deletion timestamp bynewTimestamp - 1.voidvalidate()Validate the column data.ComplexColumnDatawithOnlyQueriedData(ColumnFilter filter)-
Methods inherited from class org.apache.cassandra.db.rows.ColumnData
column, digest
-
-
-
-
Method Detail
-
cellsCount
public int cellsCount()
-
getCellByIndex
public Cell<?> getCellByIndex(int idx)
-
complexDeletion
public DeletionTime complexDeletion()
The complex deletion time of the complex column.The returned "complex deletion" is a deletion of all the cells of the column. For instance, for a collection, this correspond to a full collection deletion. Please note that this deletion says nothing about the individual cells of the complex column: there can be no complex deletion but some of the individual cells can be deleted.
- Returns:
- the complex deletion time for the column this is the data of or
DeletionTime.LIVEif the column is not deleted.
-
iterator
public java.util.Iterator<Cell<?>> iterator()
- Specified by:
iteratorin interfacejava.lang.Iterable<Cell<?>>
-
reverseIterator
public java.util.Iterator<Cell<?>> reverseIterator()
-
accumulate
public long accumulate(LongAccumulator<Cell<?>> accumulator, long initialValue)
-
accumulate
public <A> long accumulate(BiLongAccumulator<A,Cell<?>> accumulator, A arg, long initialValue)
-
dataSize
public int dataSize()
Description copied from class:ColumnDataThe size of the data hold by thisColumnData.- Specified by:
dataSizein classColumnData- Returns:
- the size used by the data of this
ColumnData.
-
unsharedHeapSizeExcludingData
public long unsharedHeapSizeExcludingData()
- Specified by:
unsharedHeapSizeExcludingDatain classColumnData
-
validate
public void validate()
Description copied from class:ColumnDataValidate the column data.- Specified by:
validatein classColumnData
-
digest
public void digest(Digest digest)
Description copied from class:ColumnDataAdds the data to the provided digest.- Specified by:
digestin classColumnData- Parameters:
digest- theDigestto add the data to.
-
hasInvalidDeletions
public boolean hasInvalidDeletions()
Description copied from class:ColumnDataValidates the deletions (ttl and local deletion time) if any.- Specified by:
hasInvalidDeletionsin classColumnData- Returns:
- true if it has any invalid deletions, false otherwise
-
markCounterLocalToBeCleared
public ComplexColumnData markCounterLocalToBeCleared()
- Specified by:
markCounterLocalToBeClearedin classColumnData
-
filter
public ComplexColumnData filter(ColumnFilter filter, DeletionTime activeDeletion, DroppedColumn dropped, LivenessInfo rowLiveness)
-
purge
public ComplexColumnData purge(DeletionPurger purger, int nowInSec)
- Specified by:
purgein classColumnData
-
withOnlyQueriedData
public ComplexColumnData withOnlyQueriedData(ColumnFilter filter)
-
updateAllTimestamp
public ComplexColumnData updateAllTimestamp(long newTimestamp)
Description copied from class:ColumnDataReturns a copy of the data where all timestamps for live data have replaced bynewTimestampand all deletion timestamp bynewTimestamp - 1. This exists for the Paxos path, seePartitionUpdate#updateAllTimestampfor additional details.- Specified by:
updateAllTimestampin classColumnData
-
maxTimestamp
public long maxTimestamp()
- Specified by:
maxTimestampin classColumnData
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
builder
public static ComplexColumnData.Builder builder()
-
-