pub struct Planner { /* private fields */ }
Implementations§
Source§impl Planner
impl Planner
pub fn new(schema: SchemaRef) -> Self
Sourcepub fn parse_filter(&self, filter: &str) -> Result<Expr>
pub fn parse_filter(&self, filter: &str) -> Result<Expr>
Create Logical Expr from a SQL filter clause.
Note: the returned expression must be passed through [optimize_expr()] before being passed to [create_physical_expr()].
Sourcepub fn parse_expr(&self, expr: &str) -> Result<Expr>
pub fn parse_expr(&self, expr: &str) -> Result<Expr>
Create Logical Expr from a SQL expression.
Note: the returned expression must be passed through [optimize_filter()] before being passed to [create_physical_expr()].
Sourcepub fn optimize_expr(&self, expr: Expr) -> Result<Expr>
pub fn optimize_expr(&self, expr: Expr) -> Result<Expr>
Optimize the filter expression and coerce data types.
Sourcepub fn create_physical_expr(&self, expr: &Expr) -> Result<Arc<dyn PhysicalExpr>>
pub fn create_physical_expr(&self, expr: &Expr) -> Result<Arc<dyn PhysicalExpr>>
Create the PhysicalExpr
from a logical Expr
Sourcepub fn column_names_in_expr(expr: &Expr) -> Vec<String>
pub fn column_names_in_expr(expr: &Expr) -> Vec<String>
Collect the columns in the expression.
The columns are returned in sorted order.
Auto Trait Implementations§
impl Freeze for Planner
impl !RefUnwindSafe for Planner
impl Send for Planner
impl Sync for Planner
impl Unpin for Planner
impl !UnwindSafe for Planner
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more