Class IcebergTable
- java.lang.Object
-
- org.projectnessie.model.Contents
-
- org.projectnessie.model.IcebergTable
-
- Direct Known Subclasses:
ImmutableIcebergTable
@Immutable public abstract class IcebergTable extends Contents
Represents the state of an Iceberg table in Nessie. An Iceberg table is globally identified via itsunique ID.The Iceberg-table-state consists of the location to the table-metadata and the state of the ID generators using the serialized version of Iceberg's
TableIdGeneratorsobject.The table-metadata-location is managed on each Nessie reference, which means that all versions of the same table have distinct table-metadata across all named-references (branches and tags).
The information needed to generate IDs for an Iceberg table that need to be globally unique, for example the last-column-ID, is managed globally within Nessie.
When adding a new table (aka contents-object identified by a contents-id), use a
Operation.Putwithout an expected-value. In all other cases (updating an existing table). always pass the last known version ofIcebergTableas the expected-value within the put-operation.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.projectnessie.model.Contents
Contents.Type
-
-
Constructor Summary
Constructors Constructor Description IcebergTable()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract StringgetIdGenerators()Opaque representation of Iceberg'sTableIdGenerators.abstract @NotNull @NotBlank StringgetMetadataLocation()Location where Iceberg stored itsTableMetadatafile.static IcebergTableof(String metadataLocation, String idGenerators)static IcebergTableof(String metadataLocation, String idGenerators, String contentsId)
-
-
-
Method Detail
-
getMetadataLocation
@NotNull @NotBlank public abstract @NotNull @NotBlank String getMetadataLocation()
Location where Iceberg stored itsTableMetadatafile. The location depends on the (implementation of) Iceberg'sFileIOconfigured for the particular Iceberg table.
-
getIdGenerators
public abstract String getIdGenerators()
Opaque representation of Iceberg'sTableIdGenerators.
-
of
public static IcebergTable of(String metadataLocation, String idGenerators)
-
of
public static IcebergTable of(String metadataLocation, String idGenerators, String contentsId)
-
-