pub trait StatementDispatchHost: MutationHost {
type NavigationPlan;
Show 17 methods
// Required methods
fn dispatch_ddl_fence_already_held(&self) -> bool;
fn dispatch_authorize_statement(
&self,
statement: &Statement,
context: &ExecutionContext,
) -> Result<()>;
fn dispatch_bind_navigation(
&self,
statement: &Statement,
) -> Result<Option<Self::NavigationPlan>>;
fn dispatch_select(
&self,
statement: &SelectStatement,
navigation: Option<&Self::NavigationPlan>,
context: &ExecutionContext,
) -> Result<Box<dyn QueryResult>>;
fn dispatch_call(
&self,
statement: &CallStatement,
context: &ExecutionContext,
) -> Result<Box<dyn QueryResult>>;
fn dispatch_set(
&self,
statement: &SetStatement,
context: &ExecutionContext,
) -> Result<Box<dyn QueryResult>>;
fn dispatch_show_tables(
&self,
statement: &ShowTablesStatement,
context: &ExecutionContext,
) -> Result<Box<dyn QueryResult>>;
fn dispatch_show_views(
&self,
statement: &ShowViewsStatement,
context: &ExecutionContext,
) -> Result<Box<dyn QueryResult>>;
fn dispatch_show_create_table(
&self,
statement: &ShowCreateTableStatement,
context: &ExecutionContext,
) -> Result<Box<dyn QueryResult>>;
fn dispatch_show_create_view(
&self,
statement: &ShowCreateViewStatement,
context: &ExecutionContext,
) -> Result<Box<dyn QueryResult>>;
fn dispatch_show_indexes(
&self,
statement: &ShowIndexesStatement,
context: &ExecutionContext,
) -> Result<Box<dyn QueryResult>>;
fn dispatch_describe(
&self,
statement: &DescribeStatement,
context: &ExecutionContext,
) -> Result<Box<dyn QueryResult>>;
fn dispatch_pragma(
&self,
statement: &PragmaStatement,
context: &ExecutionContext,
) -> Result<Box<dyn QueryResult>>;
fn dispatch_expression(
&self,
statement: &ExpressionStatement,
context: &ExecutionContext,
) -> Result<Box<dyn QueryResult>>;
fn dispatch_explain(
&self,
statement: &ExplainStatement,
context: &ExecutionContext,
) -> Result<Box<dyn QueryResult>>;
fn dispatch_analyze(
&self,
statement: &AnalyzeStatement,
context: &ExecutionContext,
) -> Result<Box<dyn QueryResult>>;
fn dispatch_vacuum(
&self,
statement: &VacuumStatement,
context: &ExecutionContext,
) -> Result<Box<dyn QueryResult>>;
}Expand description
Internal dispatch seam between statement coordination and concrete owners.
Required Associated Types§
Required Methods§
fn dispatch_ddl_fence_already_held(&self) -> bool
fn dispatch_select( &self, statement: &SelectStatement, navigation: Option<&Self::NavigationPlan>, context: &ExecutionContext, ) -> Result<Box<dyn QueryResult>>
fn dispatch_call( &self, statement: &CallStatement, context: &ExecutionContext, ) -> Result<Box<dyn QueryResult>>
fn dispatch_set( &self, statement: &SetStatement, context: &ExecutionContext, ) -> Result<Box<dyn QueryResult>>
fn dispatch_show_tables( &self, statement: &ShowTablesStatement, context: &ExecutionContext, ) -> Result<Box<dyn QueryResult>>
fn dispatch_show_views( &self, statement: &ShowViewsStatement, context: &ExecutionContext, ) -> Result<Box<dyn QueryResult>>
fn dispatch_show_create_table( &self, statement: &ShowCreateTableStatement, context: &ExecutionContext, ) -> Result<Box<dyn QueryResult>>
fn dispatch_show_create_view( &self, statement: &ShowCreateViewStatement, context: &ExecutionContext, ) -> Result<Box<dyn QueryResult>>
fn dispatch_show_indexes( &self, statement: &ShowIndexesStatement, context: &ExecutionContext, ) -> Result<Box<dyn QueryResult>>
fn dispatch_describe( &self, statement: &DescribeStatement, context: &ExecutionContext, ) -> Result<Box<dyn QueryResult>>
fn dispatch_pragma( &self, statement: &PragmaStatement, context: &ExecutionContext, ) -> Result<Box<dyn QueryResult>>
fn dispatch_expression( &self, statement: &ExpressionStatement, context: &ExecutionContext, ) -> Result<Box<dyn QueryResult>>
fn dispatch_explain( &self, statement: &ExplainStatement, context: &ExecutionContext, ) -> Result<Box<dyn QueryResult>>
fn dispatch_analyze( &self, statement: &AnalyzeStatement, context: &ExecutionContext, ) -> Result<Box<dyn QueryResult>>
fn dispatch_vacuum( &self, statement: &VacuumStatement, context: &ExecutionContext, ) -> Result<Box<dyn QueryResult>>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".