Skip to content

Commit 9a85b85

Browse files
LegacyWriterFeature
1 parent 7ee8420 commit 9a85b85

File tree

3 files changed

+29
-14
lines changed

3 files changed

+29
-14
lines changed

docs/identity-columns/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Identity Columns
22

3-
**Identity Columns** is a new feature in Delta Lake 3.3.0 that allows assigning unique values for each record writted out into a table (unless column values are provided explicitly).
3+
**Identity Columns** is a new feature in Delta Lake 3.3.0 that allows assigning unique values for each record written out into a table (unless column values are provided explicitly).
44

55
Identity Columns feature is enabled by default (using [spark.databricks.delta.identityColumn.enabled](../configuration-properties/index.md#spark.databricks.delta.identityColumn.enabled)).
66

+16
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,27 @@
11
# LegacyWriterFeature
22

3+
`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`).
4+
5+
`LegacyWriterFeature`s enforce that the [minimum reader protocol version required](TableFeature.md#minReaderVersion) is always `0`.
6+
7+
`LegacyWriterFeature` is used when `TableFeatureSupport` is requested to [remove a table feature](TableFeatureSupport.md#removeFeature) (alongside [WriterFeature](WriterFeature.md)s).
8+
39
## Implementations
410

11+
??? note "Sealed Abstract Class"
12+
`LegacyWriterFeature` is a Scala **sealed abstract class** which means that all of the implementations are in the same compilation unit (a single file).
13+
514
* [AppendOnlyTableFeature](../append-only-tables/AppendOnlyTableFeature.md)
615
* [ChangeDataFeedTableFeature](../change-data-feed/ChangeDataFeedTableFeature.md)
716
* [CheckConstraintsTableFeature](../check-constraints/CheckConstraintsTableFeature.md)
817
* [GeneratedColumnsTableFeature](../generated-columns/GeneratedColumnsTableFeature.md)
918
* [IdentityColumnsTableFeature](../identity-columns/IdentityColumnsTableFeature.md)
1019
* [InvariantsTableFeature](../column-invariants/InvariantsTableFeature.md)
1120
* `LegacyReaderWriterFeature`
21+
22+
## Creating Instance
23+
24+
`LegacyWriterFeature` takes the following to be created:
25+
26+
* <span id="name"> [Name](TableFeature.md#name)
27+
* <span id="minWriterVersion"> [Minimum writer protocol version required](TableFeature.md#minWriterVersion)

docs/table-features/TableFeature.md

+12-13
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88

99
`TableFeature` takes the following to be created:
1010

11-
* [name](#name)
12-
* <span id="minReaderVersion"> `minReaderVersion`
13-
* <span id="minWriterVersion"> `minWriterVersion`
11+
* [Name](#name)
12+
* <span id="minReaderVersion"> Minimum reader protocol version required
13+
* <span id="minWriterVersion"> Minimum writer protocol version required
1414

1515
!!! note "Abstract Class"
1616
`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
2525

2626
The name can only be a combination of letters, `-`s (dashes) and `_`s (underscores).
2727

28+
---
29+
2830
Used when:
2931

3032
* `DeltaLog` is requested to [assertTableFeaturesMatchMetadata](../DeltaLog.md#assertTableFeaturesMatchMetadata) (for reporting purposes)
@@ -55,7 +57,7 @@ Used when:
5557

5658
## Implementations
5759

58-
* `LegacyWriterFeature`
60+
* [LegacyWriterFeature](LegacyWriterFeature.md)
5961
* [WriterFeature](WriterFeature.md)
6062

6163
??? note "Sealed Abstract Class"
@@ -69,20 +71,17 @@ allSupportedFeaturesMap: Map[String, TableFeature]
6971

7072
`allSupportedFeaturesMap` is a collection of [TableFeature](TableFeature.md)s by their lower-case [name](#name):
7173

72-
* `AllowColumnDefaultsTableFeature`
7374
* [AppendOnlyTableFeature](../append-only-tables/AppendOnlyTableFeature.md)
7475
* [ChangeDataFeedTableFeature](../change-data-feed/ChangeDataFeedTableFeature.md)
75-
* `CheckConstraintsTableFeature`
76+
* [CheckConstraintsTableFeature](../check-constraints/CheckConstraintsTableFeature.md)
7677
* [ClusteringTableFeature](../liquid-clustering/ClusteringTableFeature.md)
77-
* `ColumnMappingTableFeature`
78+
* [ColumnMappingTableFeature](../column-mapping/ColumnMappingTableFeature.md)
7879
* [DeletionVectorsTableFeature](../deletion-vectors/DeletionVectorsTableFeature.md)
7980
* [DomainMetadataTableFeature](DomainMetadataTableFeature.md)
80-
* `GeneratedColumnsTableFeature`
81-
* `IcebergCompatV1TableFeature`
82-
* `IcebergCompatV2TableFeature`
83-
* `InvariantsTableFeature`
84-
* `TimestampNTZTableFeature`
85-
* `V2CheckpointTableFeature`
81+
* [GeneratedColumnsTableFeature](../generated-columns/GeneratedColumnsTableFeature.md)
82+
* [IdentityColumnsTableFeature](../identity-columns/IdentityColumnsTableFeature.md)
83+
* [InvariantsTableFeature](../column-invariants/InvariantsTableFeature.md)
84+
* _others_
8685

8786
---
8887

0 commit comments

Comments
 (0)