Row.Deletion (apache-cassandra API)
Date: 2018-02-14

org.apache.cassandra.db.rows

## 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 and Description
    --- | ---
    `static Row.Deletion` | `LIVE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Deletion(DeletionTime time, boolean isShadowable)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `dataSize()`
    `boolean` | `deletes(Cell cell)`
    `boolean` | `deletes(LivenessInfo info)`
    `void` | `digest(java.security.MessageDigest 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.
    `boolean` | `supersedes(DeletionTime that)`
    `boolean` | `supersedes(Row.Deletion that)`
    `DeletionTime` | `time()` The time of the row deletion.
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### 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 return `false`.

    - #### 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(java.security.MessageDigest digest)

    - #### dataSize

          public int dataSize()

    - #### equals

          public boolean equals(java.lang.Object o)

      Overrides:
        `equals` in class `java.lang.Object`

    - #### hashCode

          public final int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

Copyright © 2018 The Apache Software Foundation