@PublicEvolving
public interface Catalog {
/**
* Returns a {@link CatalogTable} or {@link CatalogView} identified by the given {@link
* ObjectPath}. The framework will resolve the metadata objects when necessary.
*
* @param tablePath Path of the table or view
* @param timestamp Timestamp of the table snapshot
* @return The requested table or view
* @throws TableNotExistException if the target does not exist
* @throws CatalogException in case of any runtime exception
*/
default CatalogBaseTable getTable(ObjectPath tablePath, long timestamp)
throws TableNotExistException, CatalogException {
throw new UnsupportedOperationException(
String.format("Table %s does not support time travel.", tablePath));
}
} |