Struct datafusion_physical_expr::expressions::CastExpr
source · pub struct CastExpr { /* private fields */ }
Expand description
CAST expression casts an expression to a specific data type and returns a runtime error on invalid cast
Implementations§
source§impl CastExpr
impl CastExpr
sourcepub fn new(
expr: Arc<dyn PhysicalExpr>,
cast_type: DataType,
cast_options: Option<CastOptions<'static>>
) -> Self
pub fn new( expr: Arc<dyn PhysicalExpr>, cast_type: DataType, cast_options: Option<CastOptions<'static>> ) -> Self
Create a new CastExpr
sourcepub fn expr(&self) -> &Arc<dyn PhysicalExpr>
pub fn expr(&self) -> &Arc<dyn PhysicalExpr>
The expression to cast
sourcepub fn cast_options(&self) -> &CastOptions<'static>
pub fn cast_options(&self) -> &CastOptions<'static>
The cast options
Trait Implementations§
source§impl PartialEq<dyn Any> for CastExpr
impl PartialEq<dyn Any> for CastExpr
source§impl PhysicalExpr for CastExpr
impl PhysicalExpr for CastExpr
source§fn get_ordering(&self, children: &[SortProperties]) -> SortProperties
fn get_ordering(&self, children: &[SortProperties]) -> SortProperties
A CastExpr
preserves the ordering of its child.
source§fn data_type(&self, _input_schema: &Schema) -> Result<DataType>
fn data_type(&self, _input_schema: &Schema) -> Result<DataType>
Get the data type of this expression, given the schema of the input
source§fn nullable(&self, input_schema: &Schema) -> Result<bool>
fn nullable(&self, input_schema: &Schema) -> Result<bool>
Determine whether this expression is nullable, given the schema of the input
source§fn evaluate(&self, batch: &RecordBatch) -> Result<ColumnarValue>
fn evaluate(&self, batch: &RecordBatch) -> Result<ColumnarValue>
Evaluate an expression against a RecordBatch
source§fn children(&self) -> Vec<Arc<dyn PhysicalExpr>>
fn children(&self) -> Vec<Arc<dyn PhysicalExpr>>
Get a list of child PhysicalExpr that provide the input for this expr.
source§fn with_new_children(
self: Arc<Self>,
children: Vec<Arc<dyn PhysicalExpr>>
) -> Result<Arc<dyn PhysicalExpr>>
fn with_new_children( self: Arc<Self>, children: Vec<Arc<dyn PhysicalExpr>> ) -> Result<Arc<dyn PhysicalExpr>>
Returns a new PhysicalExpr where all children were replaced by new exprs.
source§fn evaluate_bounds(&self, children: &[&Interval]) -> Result<Interval>
fn evaluate_bounds(&self, children: &[&Interval]) -> Result<Interval>
Computes the output interval for the expression, given the input
intervals. Read more
source§fn propagate_constraints(
&self,
interval: &Interval,
children: &[&Interval]
) -> Result<Option<Vec<Interval>>>
fn propagate_constraints( &self, interval: &Interval, children: &[&Interval] ) -> Result<Option<Vec<Interval>>>
Updates bounds for child expressions, given a known interval for this
expression. Read more
source§fn evaluate_selection(
&self,
batch: &RecordBatch,
selection: &BooleanArray
) -> Result<ColumnarValue>
fn evaluate_selection( &self, batch: &RecordBatch, selection: &BooleanArray ) -> Result<ColumnarValue>
Evaluate an expression against a RecordBatch after first applying a
validity array
Auto Trait Implementations§
impl !RefUnwindSafe for CastExpr
impl Send for CastExpr
impl Sync for CastExpr
impl Unpin for CastExpr
impl !UnwindSafe for CastExpr
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