Packages

case class Merge(predicate: Option[Expression], updatePredicate: Option[String], deletePredicate: Option[String], insertPredicate: Option[String], matchedPredicates: Seq[MergePredicate], notMatchedPredicates: Seq[MergePredicate], notMatchedBySourcePredicates: Seq[MergePredicate]) extends OperationWithPredicates with Product with Serializable

Linear Supertypes
Serializable, Serializable, Product, Equals, OperationWithPredicates, Operation, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Merge
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. OperationWithPredicates
  7. Operation
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Merge(predicate: Option[Expression], updatePredicate: Option[String], deletePredicate: Option[String], insertPredicate: Option[String], matchedPredicates: Seq[MergePredicate], notMatchedPredicates: Seq[MergePredicate], notMatchedBySourcePredicates: Seq[MergePredicate])

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

    Whether this operation changes data

    Definition Classes
    MergeOperation
  6. 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.

    Definition Classes
    MergeOperation
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  8. val deletePredicate: Option[String]
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. val insertPredicate: Option[String]
  13. val 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.

    Definition Classes
    MergeOperation
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. lazy val jsonEncodedValues: Map[String, String]
    Definition Classes
    Operation
  16. val matchedPredicates: Seq[MergePredicate]
  17. val name: String
    Definition Classes
    Operation
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. val notMatchedBySourcePredicates: Seq[MergePredicate]
  20. val notMatchedPredicates: Seq[MergePredicate]
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. val operationMetrics: Set[String]
    Definition Classes
    MergeOperation
  24. val parameters: Map[String, Any]
    Definition Classes
    MergeOperationWithPredicatesOperation
  25. val predicate: Option[Expression]
  26. val predicates: Seq[Expression]
    Definition Classes
    OperationWithPredicates
  27. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  28. 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.

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

    Definition Classes
    Operation
  29. def transformMetrics(metrics: Map[String, SQLMetric]): Map[String, String]
    Definition Classes
    MergeOperation
  30. val updatePredicate: Option[String]
  31. val userMetadata: Option[String]
    Definition Classes
    Operation
  32. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from OperationWithPredicates

Inherited from Operation

Inherited from AnyRef

Inherited from Any

Ungrouped