Packages

sealed abstract class Operation extends AnyRef

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Operation
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def checkAddFileWithDeletionVectorStatsAreNotTightBounds: Boolean

    A transaction that commits AddFile actions with deletionVector should have column stats that are not tight bounds.

    A transaction that commits AddFile actions with deletionVector should have column stats that are not tight bounds. An exception to this is ComputeStats operation, which recomputes stats on these files, and the new stats are tight bounds. Some other operations that merely take an existing AddFile action and commit a copy of it, not changing the deletionVector or stats, can then also recommit AddFile with deletionVector and tight bound stats that were recomputed before.

    An operation for which this can happen, and there is no way that it could be committing new deletion vectors, should set this to false to bypass this check. All other operations should set this to true, so that this is validated during commit.

    This is abstract to force the implementers of all operations to think about this setting. All operations should add a comment justifying this setting. Any operation that sets this to false should add a test in TightBoundsSuite.

  2. abstract def isInPlaceFileMetadataUpdate: Option[Boolean]

    Whether the transaction is updating metadata of existing files.

    Whether the transaction is updating metadata of existing files.

    The Delta protocol allows committing AddFile actions for files that already exist on the latest version of the table, without committing corresponding RemoveFile actions. This is used to update the metadata of existing files, e.g. to recompute statistics or add tags.

    Such operations need special handling during conflict checking, especially against no-data-change transactions, because the read/delete conflict can be resolved with read-file-remapping and because there is no RemoveFile action to trigger a delete/delete conflict. In case you are adding such operation, make sure to include a test for conflicts with business *and* no-data-change transactions, e.g. optimize.

  3. abstract def parameters: Map[String, Any]

Concrete 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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def changesData: Boolean

    Whether this operation changes data

  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. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. lazy val jsonEncodedValues: Map[String, String]
  14. val name: String
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. val operationMetrics: Set[String]
  19. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  20. def toString(): String
    Definition Classes
    AnyRef → Any
  21. def transformDeletionVectorMetrics(allMetrics: Map[String, SQLMetric], dvMetrics: Map[String, MetricsTransformer] = ...): Map[String, String]

    Manually transform the deletion vector metrics, because they are not part of operationMetrics and are filtered out by the super.transformMetrics() call.

  22. def transformMetrics(metrics: Map[String, SQLMetric]): Map[String, String]
  23. val userMetadata: Option[String]
  24. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped