Catalog

Trait Catalog 

Source
pub trait Catalog:
    Debug
    + Sync
    + Send {
Show 15 methods // Required methods fn list_namespaces<'life0, 'life1, 'async_trait>( &'life0 self, parent: Option<&'life1 NamespaceIdent>, ) -> Pin<Box<dyn Future<Output = Result<Vec<NamespaceIdent>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn create_namespace<'life0, 'life1, 'async_trait>( &'life0 self, namespace: &'life1 NamespaceIdent, properties: HashMap<String, String>, ) -> Pin<Box<dyn Future<Output = Result<Namespace>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn get_namespace<'life0, 'life1, 'async_trait>( &'life0 self, namespace: &'life1 NamespaceIdent, ) -> Pin<Box<dyn Future<Output = Result<Namespace>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn namespace_exists<'life0, 'life1, 'async_trait>( &'life0 self, namespace: &'life1 NamespaceIdent, ) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn update_namespace<'life0, 'life1, 'async_trait>( &'life0 self, namespace: &'life1 NamespaceIdent, properties: HashMap<String, String>, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn drop_namespace<'life0, 'life1, 'async_trait>( &'life0 self, namespace: &'life1 NamespaceIdent, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn list_tables<'life0, 'life1, 'async_trait>( &'life0 self, namespace: &'life1 NamespaceIdent, ) -> Pin<Box<dyn Future<Output = Result<Vec<TableIdent>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn create_table<'life0, 'life1, 'async_trait>( &'life0 self, namespace: &'life1 NamespaceIdent, creation: TableCreation, ) -> Pin<Box<dyn Future<Output = Result<Table>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn load_table<'life0, 'life1, 'async_trait>( &'life0 self, table: &'life1 TableIdent, ) -> Pin<Box<dyn Future<Output = Result<Table>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn drop_table<'life0, 'life1, 'async_trait>( &'life0 self, table: &'life1 TableIdent, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn purge_table<'life0, 'life1, 'async_trait>( &'life0 self, table: &'life1 TableIdent, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn table_exists<'life0, 'life1, 'async_trait>( &'life0 self, table: &'life1 TableIdent, ) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn rename_table<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, src: &'life1 TableIdent, dest: &'life2 TableIdent, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn register_table<'life0, 'life1, 'async_trait>( &'life0 self, table: &'life1 TableIdent, metadata_location: String, ) -> Pin<Box<dyn Future<Output = Result<Table>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn update_table<'life0, 'async_trait>( &'life0 self, commit: TableCommit, ) -> Pin<Box<dyn Future<Output = Result<Table>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait;
}
Expand description

The catalog API for Iceberg Rust.

Required Methods§

Source

fn list_namespaces<'life0, 'life1, 'async_trait>( &'life0 self, parent: Option<&'life1 NamespaceIdent>, ) -> Pin<Box<dyn Future<Output = Result<Vec<NamespaceIdent>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

List namespaces inside the catalog.

Source

fn create_namespace<'life0, 'life1, 'async_trait>( &'life0 self, namespace: &'life1 NamespaceIdent, properties: HashMap<String, String>, ) -> Pin<Box<dyn Future<Output = Result<Namespace>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Create a new namespace inside the catalog.

Source

fn get_namespace<'life0, 'life1, 'async_trait>( &'life0 self, namespace: &'life1 NamespaceIdent, ) -> Pin<Box<dyn Future<Output = Result<Namespace>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Get a namespace information from the catalog.

Source

fn namespace_exists<'life0, 'life1, 'async_trait>( &'life0 self, namespace: &'life1 NamespaceIdent, ) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Check if namespace exists in catalog.

Source

fn update_namespace<'life0, 'life1, 'async_trait>( &'life0 self, namespace: &'life1 NamespaceIdent, properties: HashMap<String, String>, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Update a namespace inside the catalog.

§Behavior

The properties must be the full set of namespace.

Source

fn drop_namespace<'life0, 'life1, 'async_trait>( &'life0 self, namespace: &'life1 NamespaceIdent, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Drop a namespace from the catalog, or returns error if it doesn’t exist.

Source

fn list_tables<'life0, 'life1, 'async_trait>( &'life0 self, namespace: &'life1 NamespaceIdent, ) -> Pin<Box<dyn Future<Output = Result<Vec<TableIdent>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

List tables from namespace.

Source

fn create_table<'life0, 'life1, 'async_trait>( &'life0 self, namespace: &'life1 NamespaceIdent, creation: TableCreation, ) -> Pin<Box<dyn Future<Output = Result<Table>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Create a new table inside the namespace.

Source

fn load_table<'life0, 'life1, 'async_trait>( &'life0 self, table: &'life1 TableIdent, ) -> Pin<Box<dyn Future<Output = Result<Table>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Load table from the catalog.

Source

fn drop_table<'life0, 'life1, 'async_trait>( &'life0 self, table: &'life1 TableIdent, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Drop a table from the catalog, or returns error if it doesn’t exist.

Source

fn purge_table<'life0, 'life1, 'async_trait>( &'life0 self, table: &'life1 TableIdent, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Drop a table from the catalog and delete the underlying table data.

Implementations should load the table metadata, drop the table from the catalog, then delete all associated data and metadata files. The drop_table_data utility function can be used for the file cleanup step.

Source

fn table_exists<'life0, 'life1, 'async_trait>( &'life0 self, table: &'life1 TableIdent, ) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Check if a table exists in the catalog.

Source

fn rename_table<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, src: &'life1 TableIdent, dest: &'life2 TableIdent, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Rename a table in the catalog.

Source

fn register_table<'life0, 'life1, 'async_trait>( &'life0 self, table: &'life1 TableIdent, metadata_location: String, ) -> Pin<Box<dyn Future<Output = Result<Table>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Register an existing table to the catalog.

Source

fn update_table<'life0, 'async_trait>( &'life0 self, commit: TableCommit, ) -> Pin<Box<dyn Future<Output = Result<Table>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Update a table to the catalog.

Implementors§