pub trait Catalog: Debug + Sync + Send {
Show 13 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 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 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§
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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 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,
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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 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.
sourcefn 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,
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.