Struct tidb_query_expr::types::RpnExpressionBuilder [−][src]
Helper to build an RpnExpression
.
Implementations
impl RpnExpressionBuilder
[src]
pub fn check_expr_tree_supported(c: &Expr) -> Result<()>
[src]
Checks whether the given expression definition tree is supported.
pub fn is_expr_eval_to_scalar(c: &Expr) -> Result<bool>
[src]
Gets the result type when expression tree is converted to RPN expression and evaluated. The result type will be either scalar or vector.
pub fn build_from_expr_tree(
tree_node: Expr,
ctx: &mut EvalContext,
max_columns: usize
) -> Result<RpnExpression>
[src]
tree_node: Expr,
ctx: &mut EvalContext,
max_columns: usize
) -> Result<RpnExpression>
Builds the RPN expression node list from an expression definition tree.
pub fn new_for_test() -> Self
[src]
Creates a new builder instance.
Only used in tests. Normal logic should use build_from_expr_tree
.
pub fn push_fn_call_for_test(
self,
func_meta: RpnFnMeta,
args_len: usize,
return_field_type: impl Into<FieldType>
) -> Self
[src]
self,
func_meta: RpnFnMeta,
args_len: usize,
return_field_type: impl Into<FieldType>
) -> Self
Pushes a FnCall
node.
pub fn push_constant_for_test(self, value: impl Into<ScalarValue>) -> Self
[src]
Pushes a Constant
node. The field type will be auto inferred by choosing an arbitrary
field type that matches the field type of the given value.
pub fn push_column_ref_for_test(self, offset: usize) -> Self
[src]
Pushes a ColumnRef
node.
pub fn build_for_test(self) -> RpnExpression
[src]
Builds the RpnExpression
.
Trait Implementations
impl AsRef<[RpnExpressionNode]> for RpnExpressionBuilder
[src]
fn as_ref(&self) -> &[RpnExpressionNode]ⓘ
[src]
impl Debug for RpnExpressionBuilder
[src]
Auto Trait Implementations
impl !RefUnwindSafe for RpnExpressionBuilder
impl Send for RpnExpressionBuilder
impl !Sync for RpnExpressionBuilder
impl Unpin for RpnExpressionBuilder
impl !UnwindSafe for RpnExpressionBuilder
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<V, W> ConvertFrom<W> for V where
W: ConvertTo<V>,
[src]
W: ConvertTo<V>,
pub fn convert_from(ctx: &mut EvalContext, from: W) -> Result<V, Error>
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
[src]
pub const ALIGN: usize
[src]
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
[src]
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
[src]
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
[src]
pub unsafe fn drop(ptr: usize)
[src]
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T> Sealed<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,