case class RenameColumn(oldColumnPath: Seq[String], newColumnPath: Seq[String]) extends Operation with Product with Serializable
- Alphabetic
- By Inheritance
- RenameColumn
- Serializable
- Product
- Equals
- Operation
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new RenameColumn(oldColumnPath: Seq[String], newColumnPath: Seq[String])
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def changesData: Boolean
Whether this operation changes data
Whether this operation changes data
- Definition Classes
- Operation
- 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
- RenameColumn → Operation
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- 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
- RenameColumn → Operation
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- lazy val jsonEncodedValues: Map[String, String]
- Definition Classes
- Operation
- val name: String
- Definition Classes
- Operation
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- val newColumnPath: Seq[String]
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- val oldColumnPath: Seq[String]
- val operationMetrics: Set[String]
- Definition Classes
- Operation
- val parameters: Map[String, Any]
- Definition Classes
- RenameColumn → Operation
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def transformDeletionVectorMetrics(allMetrics: Map[String, SQLMetric], dvMetrics: Map[String, MetricsTransformer] = DeltaOperationMetrics.DELETION_VECTORS): Map[String, String]
Manually transform the deletion vector metrics, because they are not part of
operationMetricsand are filtered out by the super.transformMetrics() call.Manually transform the deletion vector metrics, because they are not part of
operationMetricsand are filtered out by the super.transformMetrics() call.- Definition Classes
- Operation
- def transformMetrics(metrics: Map[String, SQLMetric]): Map[String, String]
- Definition Classes
- Operation
- val userMetadata: Option[String]
- Definition Classes
- Operation
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()