object TypeWidening
- Alphabetic
- By Inheritance
- TypeWidening
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
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 assertTableReadable(protocol: Protocol, metadata: Metadata): Unit
Asserts that the given table doesn't contain any unsupported type changes.
Asserts that the given table doesn't contain any unsupported type changes. This should never happen unless a non-compliant writer applied a type change that is not part of the feature specification.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def ensureFeatureConsistentlyEnabled(protocol: Protocol, metadata: Metadata, otherProtocol: Protocol, otherMetadata: Metadata): Unit
Checks that the type widening table property wasn't disabled or enabled between the two given states, throws an errors if it was.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def filterFilesRequiringRewrite(snapshot: Snapshot, files: Seq[AddFile]): Seq[AddFile]
Filter the given list of files to only keep files that were written before the latest type change, if any.
Filter the given list of files to only keep files that were written before the latest type change, if any. These older files contain a column or field with a type that is different than in the current table schema and must be rewritten when dropping the type widening table feature to make the table readable by readers that don't support the feature.
- 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()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def isEnabled(protocol: Protocol, metadata: Metadata): Boolean
Returns whether Type Widening is enabled on this table version.
Returns whether Type Widening is enabled on this table version. Checks that Type Widening is supported, which is a pre-requisite for enabling Type Widening, throws an error if not. When Type Widening is enabled, the type of existing columns or fields can be widened using ALTER TABLE CHANGE COLUMN.
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isSupported(protocol: Protocol): Boolean
Returns whether the protocol version supports the Type Widening table feature.
- def isTypeChangeSupported(fromType: AtomicType, toType: AtomicType): Boolean
Returns whether the given type change is eligible for widening.
Returns whether the given type change is eligible for widening. This only checks atomic types. It is the responsibility of the caller to recurse into structs, maps and arrays.
- def isTypeChangeSupportedForSchemaEvolution(fromType: AtomicType, toType: AtomicType): Boolean
Returns whether the given type change can be applied during schema evolution.
Returns whether the given type change can be applied during schema evolution. Only a subset of supported type changes are considered for schema evolution.
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def numFilesRequiringRewrite(snapshot: Snapshot): Long
Return the number of files that were written before the latest type change and that then contain a column or field with a type that is different from the current able schema.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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()