Class Row.Deletion
- java.lang.Object
-
- org.apache.cassandra.db.rows.Row.Deletion
-
- Enclosing interface:
- Row
public static class Row.Deletion extends java.lang.ObjectA 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.DeletionLIVE
-
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 intdataSize()booleandeletes(LivenessInfo info)booleandeletes(Cell<?> cell)voiddigest(Digest digest)booleanequals(java.lang.Object o)inthashCode()booleanisLive()Wether the deletion is live or not, that is if its an actual deletion or not.booleanisShadowable()Whether the deletion is a shadowable one or not.booleanisShadowedBy(LivenessInfo primaryKeyLivenessInfo)static Row.Deletionregular(DeletionTime time)static Row.Deletionshadowable(DeletionTime time)Deprecated.booleansupersedes(DeletionTime that)booleansupersedes(Row.Deletion that)DeletionTimetime()The time of the row deletion.java.lang.StringtoString()longunsharedHeapSize()
-
-
-
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 public static Row.Deletion shadowable(DeletionTime time)
Deprecated.
-
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:
trueif this represents no deletion of the row,falseif 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:
equalsin classjava.lang.Object
-
unsharedHeapSize
public long unsharedHeapSize()
-
hashCode
public final int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-