TableFeature¶
TableFeature
is an abstraction of table features.
TableFeature
is Serializable
(Java).
Creating Instance¶
TableFeature
takes the following to be created:
- name
-
minReaderVersion
-
minWriterVersion
Abstract Class
TableFeature
is an abstract class and cannot be created directly. It is created indirectly for the concrete TableFeatures.
Name¶
name: String
The name of this table feature
The name can only be a combination of letters, -
s (dashes) and _
s (underscores).
Used when:
DeltaLog
is requested to assertTableFeaturesMatchMetadata (for reporting purposes)OptimisticTransactionImpl
is requested to updateMetadataInternal and recordProtocolChangesTableFeature
is requested to allSupportedFeaturesMapProtocol
is requested to forTableFeatureTableFeatureSupport
is requested to withFeature, canUpgradeTo, isFeatureSupported, propertyKey, defaultPropertyKeyDescribeDeltaDetailCommand
is executed (and requested to describeDeltaTable)
Required Features¶
requiredFeatures: Set[TableFeature]
The required TableFeatures that this TableFeature
depends on
Default: (empty)
See:
Used when:
Protocol
is requested to getDependencyClosureTableFeatureSupport
is requested to withFeature
Implementations¶
LegacyWriterFeature
- WriterFeature
Sealed Abstract Class
TableFeature
is a Scala sealed abstract class which means that all of the implementations are in the same compilation unit (a single file).
allSupportedFeaturesMap¶
allSupportedFeaturesMap: Map[String, TableFeature]
allSupportedFeaturesMap
is a collection of TableFeatures by their lower-case name:
AllowColumnDefaultsTableFeature
- AppendOnlyTableFeature
- ChangeDataFeedTableFeature
CheckConstraintsTableFeature
- ClusteringTableFeature
ColumnMappingTableFeature
- DeletionVectorsTableFeature
- DomainMetadataTableFeature
GeneratedColumnsTableFeature
IcebergCompatV1TableFeature
IcebergCompatV2TableFeature
InvariantsTableFeature
TimestampNTZTableFeature
V2CheckpointTableFeature
allSupportedFeaturesMap
is used when:
TableFeature
is requested to look up the table featureAction
is requested to supportedProtocolVersionProtocol
is requested to extractAutomaticallyEnabledFeaturesTableFeatureSupport
is requested for the implicitlySupportedFeatures
Looking Up Table Feature¶
featureNameToFeature(
featureName: String): Option[TableFeature]
featureNameToFeature
tries to find the TableFeature by the given featureName
in the allSupportedFeaturesMap.
featureNameToFeature
is used when:
DeltaLog
is requested to assertTableFeaturesMatchMetadataOptimisticTransactionImpl
is requested to updateMetadataInternalProtocol
is requested to extractAutomaticallyEnabledFeaturesTableFeatureSupport
is requested for the implicitlyAndExplicitlySupportedFeaturesTableFeatureProtocolUtils
is requested to getSupportedFeaturesFromTableConfigs