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, 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 © 2012 The Apache Software Foundation