org.apache.cassandra.db
Class ExpiringColumn
java.lang.Object
org.apache.cassandra.db.Column
org.apache.cassandra.db.ExpiringColumn
- All Implemented Interfaces:
- IColumn, OnDiskAtom
public class ExpiringColumn
- extends Column
Alternative to Column that have an expiring time.
ExpiringColumn is immutable (as Column is).
Note that ExpiringColumn does not override Column.getMarkedForDeleteAt,
which means that it's in the somewhat unintuitive position of being deleted (after its expiration)
without having a time-at-which-it-became-deleted. (Because ttl is a server-side measurement,
we can't mix it with the timestamp field, which is client-supplied and whose resolution we
can't assume anything about.)
Constructor Summary |
ExpiringColumn(java.nio.ByteBuffer name,
java.nio.ByteBuffer value,
long timestamp,
int timeToLive)
|
ExpiringColumn(java.nio.ByteBuffer name,
java.nio.ByteBuffer value,
long timestamp,
int timeToLive,
int localExpirationTime)
|
Method Summary |
static Column |
create(java.nio.ByteBuffer name,
java.nio.ByteBuffer value,
long timestamp,
int timeToLive,
int localExpirationTime,
int expireBefore,
IColumnSerializer.Flag flag)
|
int |
dataSize()
the size of user-provided data, not including internal overhead |
boolean |
equals(java.lang.Object o)
|
int |
getLocalDeletionTime()
|
long |
getMarkedForDeleteAt()
|
java.lang.String |
getString(AbstractType<?> comparator)
|
int |
getTimeToLive()
|
int |
hashCode()
|
IColumn |
localCopy(ColumnFamilyStore cfs)
clones the column for the row cache, interning column names and making copies of other underlying byte buffers |
IColumn |
localCopy(ColumnFamilyStore cfs,
Allocator allocator)
clones the column for the memtable, interning column names and making copies of other underlying byte buffers. |
int |
serializationFlags()
|
int |
serializedSize(TypeSizes typeSizes)
|
void |
updateDigest(java.security.MessageDigest digest)
|
void |
validateFields(CFMetaData metadata)
|
Methods inherited from class org.apache.cassandra.db.Column |
addColumn, addColumn, create, create, create, create, create, create, diff, getSubColumn, getSubColumns, hasIrrelevantData, isLive, isMarkedForDelete, maxTimestamp, minTimestamp, mostRecentLiveChangeAt, mostRecentNonGCableChangeAt, name, onDiskSerializer, reconcile, reconcile, serializedSizeForSSTable, serializer, timestamp, validateName, value |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
MAX_TTL
public static final int MAX_TTL
- See Also:
- Constant Field Values
ExpiringColumn
public ExpiringColumn(java.nio.ByteBuffer name,
java.nio.ByteBuffer value,
long timestamp,
int timeToLive)
ExpiringColumn
public ExpiringColumn(java.nio.ByteBuffer name,
java.nio.ByteBuffer value,
long timestamp,
int timeToLive,
int localExpirationTime)
create
public static Column create(java.nio.ByteBuffer name,
java.nio.ByteBuffer value,
long timestamp,
int timeToLive,
int localExpirationTime,
int expireBefore,
IColumnSerializer.Flag flag)
- Returns:
- Either a DeletedColumn, or an ExpiringColumn.
getTimeToLive
public int getTimeToLive()
dataSize
public int dataSize()
- Description copied from interface:
IColumn
- the size of user-provided data, not including internal overhead
- Specified by:
dataSize
in interface IColumn
- Overrides:
dataSize
in class Column
serializedSize
public int serializedSize(TypeSizes typeSizes)
- Specified by:
serializedSize
in interface OnDiskAtom
- Overrides:
serializedSize
in class Column
updateDigest
public void updateDigest(java.security.MessageDigest digest)
- Specified by:
updateDigest
in interface OnDiskAtom
- Overrides:
updateDigest
in class Column
getLocalDeletionTime
public int getLocalDeletionTime()
- Specified by:
getLocalDeletionTime
in interface OnDiskAtom
- Overrides:
getLocalDeletionTime
in class Column
localCopy
public IColumn localCopy(ColumnFamilyStore cfs)
- Description copied from interface:
IColumn
- clones the column for the row cache, interning column names and making copies of other underlying byte buffers
- Specified by:
localCopy
in interface IColumn
- Overrides:
localCopy
in class Column
localCopy
public IColumn localCopy(ColumnFamilyStore cfs,
Allocator allocator)
- Description copied from interface:
IColumn
- clones the column for the memtable, interning column names and making copies of other underlying byte buffers.
Unlike the other localCopy, this uses Allocator to allocate values in contiguous memory regions,
which helps avoid heap fragmentation.
- Specified by:
localCopy
in interface IColumn
- Overrides:
localCopy
in class Column
getString
public java.lang.String getString(AbstractType<?> comparator)
- Specified by:
getString
in interface IColumn
- Overrides:
getString
in class Column
getMarkedForDeleteAt
public long getMarkedForDeleteAt()
- Specified by:
getMarkedForDeleteAt
in interface IColumn
- Overrides:
getMarkedForDeleteAt
in class Column
serializationFlags
public int serializationFlags()
- Specified by:
serializationFlags
in interface IColumn
- Overrides:
serializationFlags
in class Column
validateFields
public void validateFields(CFMetaData metadata)
throws MarshalException
- Specified by:
validateFields
in interface IColumn
- Specified by:
validateFields
in interface OnDiskAtom
- Overrides:
validateFields
in class Column
- Throws:
MarshalException
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in class Column
hashCode
public int hashCode()
- Overrides:
hashCode
in class Column
Copyright © 2013 The Apache Software Foundation