Skip to main content

TableHandler

Trait TableHandler 

Source
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§

Source

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.

Source

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.

Source

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

Source

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

Source

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

Source

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".

Implementors§