Packages

o

org.apache.spark.sql.delta

VacuumProtocolCheckTableFeature

object VacuumProtocolCheckTableFeature extends ReaderWriterFeature with RemovableFeature

A ReaderWriter table feature for VACUUM. If this feature is enabled: A writer should follow one of the following:

  1. Non-Support for Vacuum: Writers can explicitly state that they do not support VACUUM for any table, regardless of whether the Vacuum Protocol Check Table feature exists. 2. Implement Writer Protocol Check: Ensure that the VACUUM implementation includes a writer protocol check before any file deletions occur. Readers don't need to understand or change anything new; they just need to acknowledge the feature exists
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. VacuumProtocolCheckTableFeature
  2. RemovableFeature
  3. ReaderWriterFeature
  4. ReaderWriterFeatureType
  5. WriterFeature
  6. TableFeature
  7. Serializable
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def actionUsesFeature(action: Action): Boolean
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def historyContainsFeature(spark: SparkSession, downgradeTxnReadSnapshot: Snapshot): Boolean

    Examines all historical commits for traces of the removableFeature.

    Examines all historical commits for traces of the removableFeature. This is achieved as follows:

    1) We find the earliest valid checkpoint, recreate a snapshot at that version and we check whether there any traces of the feature-to-remove. 2) We check all commits that exist between version 0 and the current version. This includes the versions we validated the snapshots. This is because a commit might include information that is not available in the snapshot. Examples include CommitInfo, CDCInfo etc. Note, there can still be valid log commit files with versions prior the earliest checkpoint version. 3) We do not need to recreate a snapshot at the current version because this is already being handled by validateRemoval.

    Note, this is a slow process.

    spark

    The SparkSession.

    downgradeTxnReadSnapshot

    The read snapshot of the protocol downgrade transaction.

    returns

    True if the history contains any trace of the feature.

    Definition Classes
    RemovableFeature
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. def isLegacyFeature: Boolean

    Determine if this feature is a legacy feature.

    Determine if this feature is a legacy feature. See the documentation of TableFeature for more information.

    Definition Classes
    TableFeature
  15. def isReaderWriterFeature: Boolean

    Determine if this feature applies to both readers and writers.

    Determine if this feature applies to both readers and writers.

    Definition Classes
    TableFeature
  16. def isRemovable: Boolean

    True if this feature can be removed.

    True if this feature can be removed.

    Definition Classes
    TableFeature
  17. def minProtocolVersion: Protocol

    Get a Protocol object stating the minimum reader and writer versions this feature requires.

    Get a Protocol object stating the minimum reader and writer versions this feature requires. For a feature that can only be explicitly supported, this method returns a protocol version that supports table features, either (0,7) or (3,7) depending on the feature is writer-only or reader-writer. For a legacy feature that can be implicitly supported, this method returns the first protocol version which introduced the said feature.

    For all features, if the table's protocol version does not support table features, then the minimum protocol version is enough. However, if the protocol version supports table features for the feature type (writer-only or reader-writer), then the minimum protocol version is not enough to support a feature. In this case the feature must also be explicitly listed in the appropriate feature sets in the Protocol.

    Definition Classes
    TableFeature
  18. val minReaderVersion: Int
    Definition Classes
    ReaderWriterFeatureTableFeature
  19. val minWriterVersion: Int
    Definition Classes
    TableFeature
  20. val name: String
    Definition Classes
    TableFeature
  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  24. def preDowngradeCommand(table: DeltaTableV2): PreDowngradeTableFeatureCommand
  25. def requiredFeatures: Set[TableFeature]

    Set of table features that this table feature depends on.

    Set of table features that this table feature depends on. I.e. the set of features that need to be enabled if this table feature is enabled.

    Definition Classes
    TableFeature
  26. def requiresHistoryProtection: Boolean
    Definition Classes
    RemovableFeature
  27. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  28. def toString(): String
    Definition Classes
    AnyRef → Any
  29. def validateRemoval(snapshot: Snapshot): Boolean
  30. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from RemovableFeature

Inherited from ReaderWriterFeature

Inherited from ReaderWriterFeatureType

Inherited from WriterFeature

Inherited from TableFeature

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped