pub struct LogicalPlanner<'a> {
pub context: PlannerContext<'a>,
}Fields§
§context: PlannerContext<'a>Implementations§
Source§impl LogicalPlanner<'_>
impl LogicalPlanner<'_>
pub fn bind_expr(&self, sql: &Expr) -> QuillSQLResult<Expr>
pub fn bind_value(&self, value: &Value) -> QuillSQLResult<Expr>
pub fn bind_function(&self, function: &Function) -> QuillSQLResult<Expr>
pub fn bind_function_arg(&self, arg: &FunctionArg) -> QuillSQLResult<Expr>
Source§impl<'a> LogicalPlanner<'a>
impl<'a> LogicalPlanner<'a>
pub fn plan_create_index( &self, index_name: &ObjectName, table_name: &ObjectName, using: Option<&Ident>, columns: &[OrderByExpr], ) -> QuillSQLResult<LogicalPlan>
Source§impl<'a> LogicalPlanner<'a>
impl<'a> LogicalPlanner<'a>
pub fn plan_create_table( &self, name: &ObjectName, column_defs: &Vec<ColumnDef>, if_not_exists: bool, engine: Option<&str>, ) -> QuillSQLResult<LogicalPlan>
Source§impl<'a> LogicalPlanner<'a>
impl<'a> LogicalPlanner<'a>
pub fn plan_delete( &self, table: &TableWithJoins, selection: &Option<Expr>, ) -> QuillSQLResult<LogicalPlan>
Source§impl<'a> LogicalPlanner<'a>
impl<'a> LogicalPlanner<'a>
pub fn plan_drop_table( &self, names: &[ObjectName], if_exists: bool, cascade: bool, purge: bool, ) -> QuillSQLResult<LogicalPlan>
pub fn plan_drop_index( &self, names: &[ObjectName], if_exists: bool, cascade: bool, purge: bool, ) -> QuillSQLResult<LogicalPlan>
Source§impl LogicalPlanner<'_>
impl LogicalPlanner<'_>
Sourcepub fn plan_explain(
&mut self,
statement: &Statement,
) -> QuillSQLResult<LogicalPlan>
pub fn plan_explain( &mut self, statement: &Statement, ) -> QuillSQLResult<LogicalPlan>
Build a plan that returns the formatted logical plan as rows of text.
Source§impl<'a> LogicalPlanner<'a>
impl<'a> LogicalPlanner<'a>
pub fn plan_insert( &self, table_name: &ObjectName, columns_ident: &[Ident], source: &Query, ) -> QuillSQLResult<LogicalPlan>
Source§impl<'a> LogicalPlanner<'a>
impl<'a> LogicalPlanner<'a>
pub fn plan_query(&self, query: &Query) -> QuillSQLResult<LogicalPlan>
pub fn plan_order_by( &self, input: LogicalPlan, order_by: &Vec<OrderByExpr>, ) -> QuillSQLResult<LogicalPlan>
pub fn plan_limit( &self, input: LogicalPlan, limit: &Option<Expr>, offset: &Option<Offset>, ) -> QuillSQLResult<LogicalPlan>
Source§impl LogicalPlanner<'_>
impl LogicalPlanner<'_>
pub fn plan_set_expr(&self, set_expr: &SetExpr) -> QuillSQLResult<LogicalPlan>
pub fn plan_select(&self, select: &Select) -> QuillSQLResult<LogicalPlan>
pub fn plan_aggregate( &self, input: LogicalPlan, project: &Vec<SelectItem>, group_by: &[Expr], ) -> QuillSQLResult<LogicalPlan>
pub fn plan_project( &self, input: LogicalPlan, project: &Vec<SelectItem>, ) -> QuillSQLResult<LogicalPlan>
pub fn bind_select_item( &self, input: &LogicalPlan, item: &SelectItem, ) -> QuillSQLResult<Vec<Expr>>
pub fn plan_selection( &self, input: LogicalPlan, selection: &Option<Expr>, ) -> QuillSQLResult<LogicalPlan>
pub fn plan_from_tables( &self, from: &[TableWithJoins], ) -> QuillSQLResult<LogicalPlan>
pub fn plan_table_with_joins( &self, t: &TableWithJoins, ) -> QuillSQLResult<LogicalPlan>
pub fn plan_relation_join( &self, left: LogicalPlan, join: &Join, ) -> QuillSQLResult<LogicalPlan>
pub fn plan_join( &self, left: LogicalPlan, right: LogicalPlan, constraint: &JoinConstraint, join_type: JoinType, ) -> QuillSQLResult<LogicalPlan>
pub fn plan_cross_join( &self, left: LogicalPlan, right: LogicalPlan, ) -> QuillSQLResult<LogicalPlan>
pub fn plan_relation( &self, relation: &TableFactor, ) -> QuillSQLResult<LogicalPlan>
pub fn plan_values(&self, values: &Values) -> QuillSQLResult<LogicalPlan>
Source§impl<'a> LogicalPlanner<'a>
impl<'a> LogicalPlanner<'a>
pub fn plan_update( &self, table: &TableWithJoins, assignments: &[Assignment], selection: &Option<Expr>, ) -> QuillSQLResult<LogicalPlan>
Source§impl<'a> LogicalPlanner<'a>
impl<'a> LogicalPlanner<'a>
pub fn plan(&mut self, stmt: &Statement) -> QuillSQLResult<LogicalPlan>
pub fn bind_order_by_expr( &self, order_by: &OrderByExpr, ) -> QuillSQLResult<OrderByExpr>
pub fn bind_table_name( &self, table_name: &ObjectName, ) -> QuillSQLResult<TableReference>
Auto Trait Implementations§
impl<'a> Freeze for LogicalPlanner<'a>
impl<'a> !RefUnwindSafe for LogicalPlanner<'a>
impl<'a> Send for LogicalPlanner<'a>
impl<'a> Sync for LogicalPlanner<'a>
impl<'a> Unpin for LogicalPlanner<'a>
impl<'a> UnsafeUnpin for LogicalPlanner<'a>
impl<'a> !UnwindSafe for LogicalPlanner<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more