Package org.apache.iceberg.viewdepoc
Interface ViewOperations
- All Known Implementing Classes:
BaseMetastoreViewOperations,HadoopViewOperations,NessieViewOperations
public interface ViewOperations
SPI interface to abstract view metadata access and updates.
-
Method Summary
Modifier and TypeMethodDescriptionvoidcommit(ViewVersionMetadata base, ViewVersionMetadata metadata, Map<String, String> properties) Replace the base metadata with a new version.current()Return the currently loaded view metadata, without checking for updates.voidDrops the view specified by the 'viewIdentifier' parameter.Return extra properties not stored inViewVersionMetadata.org.apache.iceberg.io.FileIOio()AFileIOto read and write table data and metadata files.refresh()Return the current view metadata after checking for updates.
-
Method Details
-
current
ViewVersionMetadata current()Return the currently loaded view metadata, without checking for updates.- Returns:
- view version metadata
-
extraProperties
Return extra properties not stored inViewVersionMetadata.- Returns:
- a map of properties
-
refresh
ViewVersionMetadata refresh()Return the current view metadata after checking for updates.- Returns:
- view version metadata
-
drop
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
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 basedmetadata- new view metadata with updatesproperties- 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()AFileIOto read and write table data and metadata files.- Returns:
- a
FileIOto read and write table data and metadata files
-