Class IcebergTable


@Immutable public abstract class IcebergTable extends IcebergContent
Represents the state of an Iceberg table in Nessie. An Iceberg table is globally identified via its unique ID.

The Iceberg-table-state consists of the location to the table-metadata and the state of relevant IDs using a serialized version of those.

When adding a new table (aka content-object identified by a content-id), use a Operation.Put without an expected-value. In all other cases (updating an existing table). always pass the last known version of IcebergTable as the expected-value within the put-operation.

  • Constructor Details

    • IcebergTable

      public IcebergTable()
  • Method Details

    • getMetadataLocation

      @NotNull @NotNull @NotBlank @NotBlank public abstract @NotNull @NotNull @NotBlank @NotBlank String getMetadataLocation()
      Location where Iceberg stored its TableMetadata file. The location depends on the (implementation of) Iceberg's FileIO configured for the particular Iceberg table.
    • getSnapshotId

      public abstract long getSnapshotId()
      Corresponds to Iceberg's currentSnapshotId.
    • getSchemaId

      public abstract int getSchemaId()
      Corresponds to Iceberg's currentSchemaId.
    • getSpecId

      public abstract int getSpecId()
      Corresponds to Iceberg's defaultSpecId.
    • getSortOrderId

      public abstract int getSortOrderId()
      Corresponds to Iceberg's defaultSortOrderId.
    • getType

      public Content.Type getType()
      Description copied from class: Content
      Returns the Content.Type value for this content object.

      The name of the returned value should match the JSON type name used for serializing the content object.

      Specified by:
      getType in class Content
    • getMetadata

      @Deprecated @Nullable @Nullable public abstract Map<String,Object> getMetadata()
      Deprecated.
    • withId

      public abstract IcebergTable withId(String id)
      Specified by:
      withId in class Content
    • builder

      public static org.projectnessie.model.ImmutableIcebergTable.Builder builder()
    • of

      public static IcebergTable of(String metadataLocation, long snapshotId, int schemaId, int specId, int sortOrderId)
    • of

      public static IcebergTable of(String metadataLocation, long snapshotId, int schemaId, int specId, int sortOrderId, String contentId)