Class AbstractIcebergTableOperations

java.lang.Object
io.trino.plugin.iceberg.catalog.AbstractIcebergTableOperations
All Implemented Interfaces:
IcebergTableOperations, org.apache.iceberg.TableOperations
Direct Known Subclasses:
AbstractMetastoreTableOperations, GlueIcebergTableOperations, IcebergJdbcTableOperations, IcebergNessieTableOperations

@NotThreadSafe public abstract class AbstractIcebergTableOperations extends Object implements IcebergTableOperations
  • Field Details

    • ICEBERG_METASTORE_STORAGE_FORMAT

      public static final StorageFormat ICEBERG_METASTORE_STORAGE_FORMAT
    • session

      protected final ConnectorSession session
    • database

      protected final String database
    • tableName

      protected final String tableName
    • owner

      protected final Optional<String> owner
    • location

      protected final Optional<String> location
    • fileIo

      protected final org.apache.iceberg.io.FileIO fileIo
    • currentMetadata

      protected org.apache.iceberg.TableMetadata currentMetadata
    • currentMetadataLocation

      protected String currentMetadataLocation
    • shouldRefresh

      protected boolean shouldRefresh
    • version

      protected OptionalInt version
  • Constructor Details

  • Method Details

    • initializeFromMetadata

      public void initializeFromMetadata(org.apache.iceberg.TableMetadata tableMetadata)
      Specified by:
      initializeFromMetadata in interface IcebergTableOperations
    • current

      public org.apache.iceberg.TableMetadata current()
      Specified by:
      current in interface org.apache.iceberg.TableOperations
    • refresh

      public org.apache.iceberg.TableMetadata refresh()
      Specified by:
      refresh in interface org.apache.iceberg.TableOperations
    • refresh

      public org.apache.iceberg.TableMetadata refresh(boolean invalidateCaches)
    • commit

      public void commit(@Nullable org.apache.iceberg.TableMetadata base, org.apache.iceberg.TableMetadata metadata)
      Specified by:
      commit in interface org.apache.iceberg.TableOperations
    • getRefreshedLocation

      protected abstract String getRefreshedLocation(boolean invalidateCaches)
    • commitNewTable

      protected abstract void commitNewTable(org.apache.iceberg.TableMetadata metadata)
    • commitToExistingTable

      protected abstract void commitToExistingTable(org.apache.iceberg.TableMetadata base, org.apache.iceberg.TableMetadata metadata)
    • io

      public org.apache.iceberg.io.FileIO io()
      Specified by:
      io in interface org.apache.iceberg.TableOperations
    • metadataFileLocation

      public String metadataFileLocation(String filename)
      Specified by:
      metadataFileLocation in interface org.apache.iceberg.TableOperations
    • locationProvider

      public org.apache.iceberg.io.LocationProvider locationProvider()
      Specified by:
      locationProvider in interface org.apache.iceberg.TableOperations
    • getSchemaTableName

      protected SchemaTableName getSchemaTableName()
    • writeNewMetadata

      protected String writeNewMetadata(org.apache.iceberg.TableMetadata metadata, int newVersion)
    • refreshFromMetadataLocation

      protected void refreshFromMetadataLocation(String newLocation)
    • newTableMetadataFilePath

      protected static String newTableMetadataFilePath(org.apache.iceberg.TableMetadata meta, int newVersion)
    • metadataFileLocation

      protected static String metadataFileLocation(org.apache.iceberg.TableMetadata metadata, String filename)
    • toHiveColumns

      public static List<Column> toHiveColumns(List<org.apache.iceberg.types.Types.NestedField> columns)