Interface ViewOperations

All Known Implementing Classes:
BaseMetastoreViewOperations, HadoopViewOperations, NessieViewOperations

public interface ViewOperations
SPI interface to abstract view metadata access and updates.
  • Method Details

    • current

      Return the currently loaded view metadata, without checking for updates.
      Returns:
      view version metadata
    • extraProperties

      default Map<String,String> extraProperties()
      Return extra properties not stored in ViewVersionMetadata.
      Returns:
      a map of properties
    • refresh

      Return the current view metadata after checking for updates.
      Returns:
      view version metadata
    • drop

      void drop(String viewIdentifier)
      Drops the view specified by the 'viewIdentifier' parameter. Used only by the test infrastructure such as HadoopViewOperations and TestViews. Metacat views are dropped using direct hive 'drop' object calls.
      Parameters:
      viewIdentifier - specifies the name/location of the view.
    • commit

      void commit(ViewVersionMetadata base, ViewVersionMetadata metadata, Map<String,String> properties)
      Replace the base metadata with a new version.

      This method should implement and document atomicity guarantees.

      Implementations must check that the base metadata is current to avoid overwriting updates. Once the atomic commit operation succeeds, implementations must not perform any operations that may fail because failure in this method cannot be distinguished from commit failure.

      Parameters:
      base - view metadata on which changes were based
      metadata - new view metadata with updates
      properties - Version property genie-id of the operation, as well as table properties such as owner, table type, common view flag etc.
    • io

      org.apache.iceberg.io.FileIO io()
      A FileIO to read and write table data and metadata files.
      Returns:
      a FileIO to read and write table data and metadata files