pub trait TableHandler<Cx = RequestContext>:
Send
+ Sync
+ 'static {
// Required methods
fn list_table_summaries<'life0, 'async_trait>(
&'life0 self,
request: ListTableSummariesRequest,
context: Cx,
) -> Pin<Box<dyn Future<Output = Result<ListTableSummariesResponse>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_tables<'life0, 'async_trait>(
&'life0 self,
request: ListTablesRequest,
context: Cx,
) -> Pin<Box<dyn Future<Output = Result<ListTablesResponse>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn create_table<'life0, 'async_trait>(
&'life0 self,
request: CreateTableRequest,
context: Cx,
) -> Pin<Box<dyn Future<Output = Result<Table>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_table<'life0, 'async_trait>(
&'life0 self,
request: GetTableRequest,
context: Cx,
) -> Pin<Box<dyn Future<Output = Result<Table>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_table_exists<'life0, 'async_trait>(
&'life0 self,
request: GetTableExistsRequest,
context: Cx,
) -> Pin<Box<dyn Future<Output = Result<GetTableExistsResponse>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn delete_table<'life0, 'async_trait>(
&'life0 self,
request: DeleteTableRequest,
context: Cx,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
}Required Methods§
Sourcefn list_table_summaries<'life0, 'async_trait>(
&'life0 self,
request: ListTableSummariesRequest,
context: Cx,
) -> Pin<Box<dyn Future<Output = Result<ListTableSummariesResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_table_summaries<'life0, 'async_trait>(
&'life0 self,
request: ListTableSummariesRequest,
context: Cx,
) -> Pin<Box<dyn Future<Output = Result<ListTableSummariesResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Gets an array of summaries for tables for a schema and catalog within the metastore. The table summaries returned are either:
- summaries for tables (within the current metastore and parent catalog and schema), when the user is a metastore admin, or:
- summaries for tables and schemas (within the current metastore and parent catalog) for which the user has ownership or the SELECT privilege on the table and ownership or USE_SCHEMA privilege on the schema, provided that the user also has ownership or the USE_CATALOG privilege on the parent catalog.
There is no guarantee of a specific ordering of the elements in the array.
Sourcefn list_tables<'life0, 'async_trait>(
&'life0 self,
request: ListTablesRequest,
context: Cx,
) -> Pin<Box<dyn Future<Output = Result<ListTablesResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_tables<'life0, 'async_trait>(
&'life0 self,
request: ListTablesRequest,
context: Cx,
) -> Pin<Box<dyn Future<Output = Result<ListTablesResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Gets an array of all tables for the current metastore under the parent catalog and schema.
The caller must be a metastore admin or an owner of (or have the SELECT privilege on) the table. For the latter case, the caller must also be the owner or have the USE_CATALOG privilege on the parent catalog and the USE_SCHEMA privilege on the parent schema. There is no guarantee of a specific ordering of the elements in the array.
Sourcefn create_table<'life0, 'async_trait>(
&'life0 self,
request: CreateTableRequest,
context: Cx,
) -> Pin<Box<dyn Future<Output = Result<Table>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_table<'life0, 'async_trait>(
&'life0 self,
request: CreateTableRequest,
context: Cx,
) -> Pin<Box<dyn Future<Output = Result<Table>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Create a table
Sourcefn get_table<'life0, 'async_trait>(
&'life0 self,
request: GetTableRequest,
context: Cx,
) -> Pin<Box<dyn Future<Output = Result<Table>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_table<'life0, 'async_trait>(
&'life0 self,
request: GetTableRequest,
context: Cx,
) -> Pin<Box<dyn Future<Output = Result<Table>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get a table
Sourcefn get_table_exists<'life0, 'async_trait>(
&'life0 self,
request: GetTableExistsRequest,
context: Cx,
) -> Pin<Box<dyn Future<Output = Result<GetTableExistsResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_table_exists<'life0, 'async_trait>(
&'life0 self,
request: GetTableExistsRequest,
context: Cx,
) -> Pin<Box<dyn Future<Output = Result<GetTableExistsResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get boolean reflecting if table exists
Sourcefn delete_table<'life0, 'async_trait>(
&'life0 self,
request: DeleteTableRequest,
context: Cx,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn delete_table<'life0, 'async_trait>(
&'life0 self,
request: DeleteTableRequest,
context: Cx,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Delete a table
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".