Skip to main content

CteExecutorExt

Trait CteExecutorExt 

Source
pub trait CteExecutorExt: CteHost {
    // Provided methods
    fn execute_select_with_ctes(
        &self,
        statement: &SelectStatement,
        context: &ExecutionContext,
    ) -> Result<Box<dyn QueryResult>> { ... }
    fn execute_query_on_cte_result(
        &self,
        statement: &SelectStatement,
        context: &ExecutionContext,
        columns: Vec<String>,
        rows: RowVec,
    ) -> Result<(Vec<String>, RowVec)> { ... }
    fn execute_query_on_cte_result_inner(
        &self,
        statement: &SelectStatement,
        context: &ExecutionContext,
        columns: Vec<String>,
        rows: RowVec,
        skip_order_limit: bool,
    ) -> Result<(Vec<String>, RowVec, bool)> { ... }
    fn has_cte(&self, statement: &SelectStatement) -> bool { ... }
    fn try_inline_ctes(
        &self,
        statement: &SelectStatement,
        with_clause: &WithClause,
    ) -> Option<SelectStatement> { ... }
}
Expand description

Internal call surface between CTE expansion and the SELECT owner.

Provided Methods§

Source

fn execute_select_with_ctes( &self, statement: &SelectStatement, context: &ExecutionContext, ) -> Result<Box<dyn QueryResult>>

Source

fn execute_query_on_cte_result( &self, statement: &SelectStatement, context: &ExecutionContext, columns: Vec<String>, rows: RowVec, ) -> Result<(Vec<String>, RowVec)>

Source

fn execute_query_on_cte_result_inner( &self, statement: &SelectStatement, context: &ExecutionContext, columns: Vec<String>, rows: RowVec, skip_order_limit: bool, ) -> Result<(Vec<String>, RowVec, bool)>

Source

fn has_cte(&self, statement: &SelectStatement) -> bool

Source

fn try_inline_ctes( &self, statement: &SelectStatement, with_clause: &WithClause, ) -> Option<SelectStatement>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§