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 Detail

      • IcebergTable

        public IcebergTable()
    • Method Detail

      • getMetadataLocation

        @NotNull
        @NotBlank
        public abstract @NotNull @NotBlank java.lang.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 enum constant for this content object.

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

        Specified by:
        getType in class Content
      • builder

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

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

        public static IcebergTable of​(java.lang.String metadataLocation,
                                      long snapshotId,
                                      int schemaId,
                                      int specId,
                                      int sortOrderId,
                                      java.lang.String contentId)
      • of

        public static IcebergTable of​(com.fasterxml.jackson.databind.JsonNode metadata,
                                      java.lang.String metadataLocation,
                                      java.lang.String contentId)