Package org.apache.cassandra.db.rows
Class ArrayCell
- java.lang.Object
-
- org.apache.cassandra.db.rows.ColumnData
-
- org.apache.cassandra.db.rows.Cell<V>
-
- org.apache.cassandra.db.rows.AbstractCell<byte[]>
-
- org.apache.cassandra.db.rows.ArrayCell
-
- All Implemented Interfaces:
IMeasurableMemory
public class ArrayCell extends AbstractCell<byte[]>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.cassandra.db.rows.Cell
Cell.Factory<V>
-
Nested classes/interfaces inherited from class org.apache.cassandra.db.rows.ColumnData
ColumnData.PostReconciliationFunction, ColumnData.Reconciler
-
-
Field Summary
-
Fields inherited from class org.apache.cassandra.db.rows.Cell
comparator, INVALID_DELETION_TIME, MAX_DELETION_TIME, MAX_DELETION_TIME_2038_LEGACY_CAP, MAX_DELETION_TIME_UNSIGNED_INTEGER, NO_DELETION_TIME, NO_DELETION_TIME_UNSIGNED_INTEGER, NO_TTL, serializer
-
Fields inherited from class org.apache.cassandra.db.rows.ColumnData
column, noOp
-
-
Constructor Summary
Constructors Constructor Description ArrayCell(ColumnMetadata column, long timestamp, int ttl, int localDeletionTimeUnsignedInteger, byte[] value, CellPath path)
ArrayCell(ColumnMetadata column, long timestamp, int ttl, long localDeletionTime, byte[] value, CellPath path)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ValueAccessor<byte[]>
accessor()
Cell<?>
clone(ByteBufferCloner cloner)
protected int
localDeletionTimeAsUnsignedInt()
CellPath
path()
For cells belonging to complex types (non-frozen collection and UDT), the path to the cell.long
timestamp()
The cell timestamp.int
ttl()
The cell ttl.long
unsharedHeapSize()
long
unsharedHeapSizeExcludingData()
byte[]
value()
Cell<?>
withSkippedValue()
Used to apply the same optimization as inCell.Serializer.deserialize(org.apache.cassandra.io.util.DataInputPlus, org.apache.cassandra.db.LivenessInfo, org.apache.cassandra.schema.ColumnMetadata, org.apache.cassandra.db.SerializationHeader, org.apache.cassandra.db.rows.DeserializationHelper, org.apache.cassandra.db.marshal.ValueAccessor<V>)
when the column is not queried but eventhough it's used for digest calculation.Cell<?>
withUpdatedColumn(ColumnMetadata newColumn)
Cell<?>
withUpdatedTimestampAndLocalDeletionTime(long newTimestamp, long newLocalDeletionTime)
Cell<?>
withUpdatedValue(java.nio.ByteBuffer newValue)
-
Methods inherited from class org.apache.cassandra.db.rows.AbstractCell
dataSize, digest, equals, equals, hashCode, hasInvalidDeletions, isCounterCell, isExpiring, isLive, isTombstone, markCounterLocalToBeCleared, maxTimestamp, purge, purgeDataOlderThan, toString, updateAllTimestamp, validate
-
Methods inherited from class org.apache.cassandra.db.rows.Cell
buffer, clone, decodeLocalDeletionTime, deletionTimeLongToUnsignedInteger, deletionTimeUnsignedIntegerToLong, getVersionedMaxDeletiontionTime, localDeletionTime, valueSize
-
Methods inherited from class org.apache.cassandra.db.rows.ColumnData
column, digest, reconciler
-
-
-
-
Constructor Detail
-
ArrayCell
public ArrayCell(ColumnMetadata column, long timestamp, int ttl, long localDeletionTime, byte[] value, CellPath path)
-
ArrayCell
public ArrayCell(ColumnMetadata column, long timestamp, int ttl, int localDeletionTimeUnsignedInteger, byte[] value, CellPath path)
-
-
Method Detail
-
timestamp
public long timestamp()
Description copied from class:Cell
The cell timestamp.
-
ttl
public int ttl()
Description copied from class:Cell
The cell ttl.
-
accessor
public ValueAccessor<byte[]> accessor()
-
path
public CellPath path()
Description copied from class:Cell
For cells belonging to complex types (non-frozen collection and UDT), the path to the cell.
-
withUpdatedColumn
public Cell<?> withUpdatedColumn(ColumnMetadata newColumn)
- Specified by:
withUpdatedColumn
in classCell<byte[]>
-
withUpdatedValue
public Cell<?> withUpdatedValue(java.nio.ByteBuffer newValue)
- Specified by:
withUpdatedValue
in classCell<byte[]>
-
withUpdatedTimestampAndLocalDeletionTime
public Cell<?> withUpdatedTimestampAndLocalDeletionTime(long newTimestamp, long newLocalDeletionTime)
- Specified by:
withUpdatedTimestampAndLocalDeletionTime
in classCell<byte[]>
-
withSkippedValue
public Cell<?> withSkippedValue()
Description copied from class:Cell
Used to apply the same optimization as inCell.Serializer.deserialize(org.apache.cassandra.io.util.DataInputPlus, org.apache.cassandra.db.LivenessInfo, org.apache.cassandra.schema.ColumnMetadata, org.apache.cassandra.db.SerializationHeader, org.apache.cassandra.db.rows.DeserializationHelper, org.apache.cassandra.db.marshal.ValueAccessor<V>)
when the column is not queried but eventhough it's used for digest calculation.- Specified by:
withSkippedValue
in classCell<byte[]>
- Returns:
- a cell with an empty buffer as value
-
clone
public Cell<?> clone(ByteBufferCloner cloner)
- Overrides:
clone
in classAbstractCell<byte[]>
-
unsharedHeapSize
public long unsharedHeapSize()
- Specified by:
unsharedHeapSize
in interfaceIMeasurableMemory
- Specified by:
unsharedHeapSize
in classColumnData
- Returns:
- the amount of on-heap memory retained by the object that might be reclaimed if the object were reclaimed, i.e. it should try to exclude globally cached data where possible, or counting portions of arrays that are referenced by the object but used by other objects only (e.g. slabbed byte-buffers), etc.
-
unsharedHeapSizeExcludingData
public long unsharedHeapSizeExcludingData()
- Specified by:
unsharedHeapSizeExcludingData
in classColumnData
-
localDeletionTimeAsUnsignedInt
protected int localDeletionTimeAsUnsignedInt()
- Specified by:
localDeletionTimeAsUnsignedInt
in classCell<byte[]>
-
-