pub struct BinaryShortCircuitExpression {
expr_ia1: BoxedExpression,
expr_ia2: BoxedExpression,
expr_type: Type,
}Expand description
This is just an implementation detail. The semantic is not guaranteed at SQL level because optimizer may have rearranged the boolean expressions. #6202
Fields§
§expr_ia1: BoxedExpression§expr_ia2: BoxedExpression§expr_type: TypeTrait Implementations§
Source§impl Debug for BinaryShortCircuitExpression
impl Debug for BinaryShortCircuitExpression
Source§impl Expression for BinaryShortCircuitExpression
impl Expression for BinaryShortCircuitExpression
Source§fn return_type(&self) -> DataType
fn return_type(&self) -> DataType
Get the return data type.
Source§fn eval<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 DataChunk,
) -> Pin<Box<dyn Future<Output = Result<ArrayRef>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn eval<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 DataChunk,
) -> Pin<Box<dyn Future<Output = Result<ArrayRef>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Evaluate the expression in vectorized execution. Returns an array. Read more
Source§fn eval_row<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 OwnedRow,
) -> Pin<Box<dyn Future<Output = Result<Datum>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn eval_row<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 OwnedRow,
) -> Pin<Box<dyn Future<Output = Result<Datum>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Evaluate the expression in row-based execution. Returns a nullable scalar.
Source§fn eval_v2<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 DataChunk,
) -> Pin<Box<dyn Future<Output = Result<ValueImpl>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn eval_v2<'life0, 'life1, 'async_trait>(
&'life0 self,
input: &'life1 DataChunk,
) -> Pin<Box<dyn Future<Output = Result<ValueImpl>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Evaluate the expression in vectorized execution. Returns a value that can be either an
array, or a scalar if all values in the array are the same. Read more
Source§fn eval_const(&self) -> Result<Datum>
fn eval_const(&self) -> Result<Datum>
Evaluate if the expression is constant.
Source§fn input_ref_index(&self) -> Option<usize>
fn input_ref_index(&self) -> Option<usize>
Get the index if the expression is an
InputRef.Auto Trait Implementations§
impl Freeze for BinaryShortCircuitExpression
impl !RefUnwindSafe for BinaryShortCircuitExpression
impl Send for BinaryShortCircuitExpression
impl Sync for BinaryShortCircuitExpression
impl Unpin for BinaryShortCircuitExpression
impl !UnwindSafe for BinaryShortCircuitExpression
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Forward to the method defined on the type
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Forward to the method defined on the type
Any.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<E> ExpressionBoxExt for Ewhere
E: Expression + 'static,
impl<E> ExpressionBoxExt for Ewhere
E: Expression + 'static,
Source§fn boxed(self) -> Box<dyn Expression>
fn boxed(self) -> Box<dyn Expression>
Wrap the expression in a Box.
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
type Err = Infallible
fn into_result(self) -> Result<T, <T as IntoResult<T>>::Err>
Source§impl<M> MetricVecRelabelExt for M
impl<M> MetricVecRelabelExt for M
Source§fn relabel(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
Equivalent to
RelabeledMetricVec::with_metric_level.Source§fn relabel_n(
self,
metric_level: MetricLevel,
relabel_threshold: MetricLevel,
relabel_num: usize,
) -> RelabeledMetricVec<M>
fn relabel_n( self, metric_level: MetricLevel, relabel_threshold: MetricLevel, relabel_num: usize, ) -> RelabeledMetricVec<M>
Equivalent to
RelabeledMetricVec::with_metric_level_relabel_n.Source§fn relabel_debug_1(
self,
relabel_threshold: MetricLevel,
) -> RelabeledMetricVec<M>
fn relabel_debug_1( self, relabel_threshold: MetricLevel, ) -> RelabeledMetricVec<M>
Equivalent to
RelabeledMetricVec::with_metric_level_relabel_n with metric_level set to
MetricLevel::Debug and relabel_num set to 1.