Class Row.Deletion
- java.lang.Object
-
- org.apache.cassandra.db.rows.Row.Deletion
-
- Enclosing interface:
- Row
public static class Row.Deletion extends java.lang.Object
A row deletion/tombstone.A row deletion mostly consists of the time of said deletion, but there is 2 variants: shadowable and regular row deletion.
A shadowable row deletion only exists if the row has no timestamp. In other words, the deletion is only valid as long as no newer insert is done (thus setting a row timestamp; note that if the row timestamp set is lower than the deletion, it is shadowed (and thus ignored) as usual).
That is, if a row has a shadowable deletion with timestamp A and an update is made to that row with a timestamp B such that
B > A
(and that update sets the row timestamp), then the shadowable deletion is 'shadowed' by that update. A concrete consequence is that if said update has cells with timestamp lower than A, then those cells are preserved(since the deletion is removed), and this is contrary to a normal (regular) deletion where the deletion is preserved and such cells are removed.Currently, the only use of shadowable row deletions is Materialized Views, see CASSANDRA-10261.
-
-
Field Summary
Fields Modifier and Type Field Description static Row.Deletion
LIVE
-
Constructor Summary
Constructors Constructor Description Deletion(DeletionTime time, boolean isShadowable)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description int
dataSize()
boolean
deletes(LivenessInfo info)
boolean
deletes(Cell<?> cell)
void
digest(Digest digest)
boolean
equals(java.lang.Object o)
int
hashCode()
boolean
isLive()
Wether the deletion is live or not, that is if its an actual deletion or not.boolean
isShadowable()
Whether the deletion is a shadowable one or not.boolean
isShadowedBy(LivenessInfo primaryKeyLivenessInfo)
static Row.Deletion
regular(DeletionTime time)
static Row.Deletion
shadowable(DeletionTime time)
Deprecated.See CAASSANDRA-10261boolean
supersedes(DeletionTime that)
boolean
supersedes(Row.Deletion that)
DeletionTime
time()
The time of the row deletion.java.lang.String
toString()
long
unsharedHeapSize()
-
-
-
Field Detail
-
LIVE
public static final Row.Deletion LIVE
-
-
Constructor Detail
-
Deletion
public Deletion(DeletionTime time, boolean isShadowable)
-
-
Method Detail
-
regular
public static Row.Deletion regular(DeletionTime time)
-
shadowable
@Deprecated(since="4.0") public static Row.Deletion shadowable(DeletionTime time)
Deprecated.See CAASSANDRA-10261
-
time
public DeletionTime time()
The time of the row deletion.- Returns:
- the time of the row deletion.
-
isShadowable
public boolean isShadowable()
Whether the deletion is a shadowable one or not.- Returns:
- whether the deletion is a shadowable one. Note that if
isLive()
, then this is guarantee to returnfalse
.
-
isLive
public boolean isLive()
Wether the deletion is live or not, that is if its an actual deletion or not.- Returns:
true
if this represents no deletion of the row,false
if that's an actual deletion.
-
supersedes
public boolean supersedes(DeletionTime that)
-
supersedes
public boolean supersedes(Row.Deletion that)
-
isShadowedBy
public boolean isShadowedBy(LivenessInfo primaryKeyLivenessInfo)
-
deletes
public boolean deletes(LivenessInfo info)
-
deletes
public boolean deletes(Cell<?> cell)
-
digest
public void digest(Digest digest)
-
dataSize
public int dataSize()
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
unsharedHeapSize
public long unsharedHeapSize()
-
hashCode
public final int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-