diff --git a/docs/table-features/LegacyWriterFeature.md b/docs/table-features/LegacyWriterFeature.md index 4d4eaf44f..f9da2dff3 100644 --- a/docs/table-features/LegacyWriterFeature.md +++ b/docs/table-features/LegacyWriterFeature.md @@ -1,7 +1,16 @@ # LegacyWriterFeature +`LegacyWriterFeature` is a marker extension of the [TableFeature](TableFeature.md) abstraction for [writer table features](#implementations) that were released before [Table Features](index.md) (as a `LegacyFeatureType`). + +`LegacyWriterFeature`s enforce that the [minimum reader protocol version required](TableFeature.md#minReaderVersion) is always `0`. + +`LegacyWriterFeature` is used when `TableFeatureSupport` is requested to [remove a table feature](TableFeatureSupport.md#removeFeature) (alongside [WriterFeature](WriterFeature.md)s). + ## Implementations +??? note "Sealed Abstract Class" + `LegacyWriterFeature` is a Scala **sealed abstract class** which means that all of the implementations are in the same compilation unit (a single file). + * [AppendOnlyTableFeature](../append-only-tables/AppendOnlyTableFeature.md) * [ChangeDataFeedTableFeature](../change-data-feed/ChangeDataFeedTableFeature.md) * [CheckConstraintsTableFeature](../check-constraints/CheckConstraintsTableFeature.md) @@ -9,3 +18,10 @@ * [IdentityColumnsTableFeature](../identity-columns/IdentityColumnsTableFeature.md) * [InvariantsTableFeature](../column-invariants/InvariantsTableFeature.md) * `LegacyReaderWriterFeature` + +## Creating Instance + +`LegacyWriterFeature` takes the following to be created: + +* [Name](TableFeature.md#name) +* [Minimum writer protocol version required](TableFeature.md#minWriterVersion) diff --git a/docs/table-features/TableFeature.md b/docs/table-features/TableFeature.md index bbacade80..c01fed8c9 100644 --- a/docs/table-features/TableFeature.md +++ b/docs/table-features/TableFeature.md @@ -8,9 +8,9 @@ `TableFeature` takes the following to be created: -* [name](#name) -* `minReaderVersion` -* `minWriterVersion` +* [Name](#name) +* Minimum reader protocol version required +* Minimum writer protocol version required !!! note "Abstract Class" `TableFeature` is an abstract class and cannot be created directly. It is created indirectly for the [concrete TableFeatures](#implementations). @@ -25,6 +25,8 @@ 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](../DeltaLog.md#assertTableFeaturesMatchMetadata) (for reporting purposes) @@ -55,7 +57,7 @@ Used when: ## Implementations -* `LegacyWriterFeature` +* [LegacyWriterFeature](LegacyWriterFeature.md) * [WriterFeature](WriterFeature.md) ??? note "Sealed Abstract Class" @@ -72,15 +74,15 @@ allSupportedFeaturesMap: Map[String, TableFeature] * `AllowColumnDefaultsTableFeature` * [AppendOnlyTableFeature](../append-only-tables/AppendOnlyTableFeature.md) * [ChangeDataFeedTableFeature](../change-data-feed/ChangeDataFeedTableFeature.md) -* `CheckConstraintsTableFeature` +* [CheckConstraintsTableFeature](../check-constraints/CheckConstraintsTableFeature.md) * [ClusteringTableFeature](../liquid-clustering/ClusteringTableFeature.md) -* `ColumnMappingTableFeature` +* [ColumnMappingTableFeature](../column-mapping/ColumnMappingTableFeature.md) * [DeletionVectorsTableFeature](../deletion-vectors/DeletionVectorsTableFeature.md) * [DomainMetadataTableFeature](DomainMetadataTableFeature.md) -* `GeneratedColumnsTableFeature` +* [GeneratedColumnsTableFeature](../generated-columns/GeneratedColumnsTableFeature.md) * `IcebergCompatV1TableFeature` * `IcebergCompatV2TableFeature` -* `InvariantsTableFeature` +* [InvariantsTableFeature](../column-invariants/InvariantsTableFeature.md) * `TimestampNTZTableFeature` * `V2CheckpointTableFeature`