pub struct BinaryTypeCoercer<'a> { /* private fields */ }
Expand description
Provides type information about a binary expression, coercing different input types into a sensible output type.
Implementations§
Source§impl<'a> BinaryTypeCoercer<'a>
impl<'a> BinaryTypeCoercer<'a>
Sourcepub fn new(
lhs: &'a DataType,
op: &'a Operator,
rhs: &'a DataType,
) -> BinaryTypeCoercer<'a>
pub fn new( lhs: &'a DataType, op: &'a Operator, rhs: &'a DataType, ) -> BinaryTypeCoercer<'a>
Creates a new BinaryTypeCoercer
, for reasoning about the input
and output types of a binary expression.
Sourcepub fn set_lhs_spans(&mut self, spans: Spans)
pub fn set_lhs_spans(&mut self, spans: Spans)
Sets the spans information for the left side of the binary expression, so better diagnostics can be provided in case of errors.
Sourcepub fn set_op_spans(&mut self, spans: Spans)
pub fn set_op_spans(&mut self, spans: Spans)
Sets the spans information for the operator of the binary expression, so better diagnostics can be provided in case of errors.
Sourcepub fn set_rhs_spans(&mut self, spans: Spans)
pub fn set_rhs_spans(&mut self, spans: Spans)
Sets the spans information for the right side of the binary expression, so better diagnostics can be provided in case of errors.
Sourcepub fn get_result_type(&'a self) -> Result<DataType, DataFusionError>
pub fn get_result_type(&'a self) -> Result<DataType, DataFusionError>
Returns the resulting type of a binary expression evaluating the op
with the left and right hand types
Sourcepub fn get_input_types(
&'a self,
) -> Result<(DataType, DataType), DataFusionError>
pub fn get_input_types( &'a self, ) -> Result<(DataType, DataType), DataFusionError>
Returns the coerced input types for a binary expression evaluating the op
with the left and right hand types
Auto Trait Implementations§
impl<'a> Freeze for BinaryTypeCoercer<'a>
impl<'a> RefUnwindSafe for BinaryTypeCoercer<'a>
impl<'a> Send for BinaryTypeCoercer<'a>
impl<'a> Sync for BinaryTypeCoercer<'a>
impl<'a> Unpin for BinaryTypeCoercer<'a>
impl<'a> UnwindSafe for BinaryTypeCoercer<'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
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>
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>
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