Interface TrinoCatalog

All Known Implementing Classes:
AbstractTrinoCatalog, TrinoGlueCatalog, TrinoHiveCatalog

public interface TrinoCatalog
An interface to allow different Iceberg catalog implementations in IcebergMetadata.

It mimics the Iceberg catalog interface, with the following modifications:

  • ConnectorSession is added at the front of each method signature
  • String is used to identify namespace instead of Iceberg Namespace, Optional.empty() is used to represent Namespace.empty(). This delegates the handling of multi-level namespace to each implementation
  • Similarly, SchemaTableName is used to identify table instead of Iceberg TableIdentifier
  • Metadata is a map of string to object instead of string to string
  • Additional methods related to authorization are added
  • View related methods are currently mostly the same as ones in ConnectorMetadata. These methods will likely be updated once Iceberg view interface is added.