Struct ArrayType

Source
pub struct ArrayType {
    pub base: Box<dyn DataType>,
}

Fields§

§base: Box<dyn DataType>

Implementations§

Source§

impl ArrayType

Source

pub fn new(base: Box<dyn DataType>) -> Self

Trait Implementations§

Source§

impl Clone for ArrayType

Source§

fn clone(&self) -> ArrayType

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl DataType for ArrayType

Source§

fn literal(&self) -> String

Return the literal representation for this DataType
Source§

fn equals(&self, other: &Box<dyn DataType>) -> bool

Return if other DataType is equal or not to current Type
Source§

fn as_any(&self) -> &dyn Any

Return the current value as dynamic Any
Source§

fn can_perform_index_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform `[I]’ operator with between current DataType and any one of them
Source§

fn index_op_result_type(&self, _other: &Box<dyn DataType>) -> Box<dyn DataType>

Return the expected type after perform ‘[]’ operator on current type Read more
Source§

fn can_perform_slice_op(&self) -> bool

Return true if this type support Slice operator with
Source§

fn can_perform_slice_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform `[S : E]’ operator with between current DataType and any one of them
Source§

fn can_perform_contains_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform unary `@>’ operator with between current DataType and any one of them Read more
Source§

fn can_perform_logical_or_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform || or OR operator with between current DataType and any one of them
Source§

fn logical_or_op_result_type( &self, _other: &Box<dyn DataType>, ) -> Box<dyn DataType>

Return the expected type after perform || or OR operator between current type and argument type Read more
Source§

fn can_perform_add_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform + operator with between current DataType and any one of them
Source§

fn add_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>

Return the expected type after perform = operator between current type and argument type Read more
Source§

fn can_perform_sub_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform - operator with between current DataType and any one of them
Source§

fn sub_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>

Return the expected type after perform - operator between current type and argument type Read more
Source§

fn can_perform_mul_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform * operator with between current DataType and any one of them
Source§

fn mul_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>

Return the expected type after perform * operator between current type and argument type Read more
Source§

fn can_perform_div_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform / operator with between current DataType and any one of them
Source§

fn div_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>

Return the expected type after perform / operator between current type and argument type Read more
Source§

fn can_perform_rem_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform % operator with between current DataType and any one of them
Source§

fn rem_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>

Return the expected type after perform & operator between current type and argument type Read more
Source§

fn can_perform_caret_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform ^ operator with between current DataType and any one of them
Source§

fn caret_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>

Return the expected type after perform ^ operator between current type and argument type Read more
Source§

fn can_perform_or_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform | operator with between current DataType and any one of them
Source§

fn or_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>

Return the expected type after perform | operator between current type and argument type Read more
Source§

fn can_perform_and_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform & operator with between current DataType and any one of them
Source§

fn and_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>

Return the expected type after perform & operator between current type and argument type Read more
Source§

fn can_perform_xor_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform # operator with between current DataType and any one of them
Source§

fn xor_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>

Return the expected type after perform # operator between current type and argument type Read more
Source§

fn can_perform_shl_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform << operator with between current DataType and any one of them
Source§

fn shl_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>

Return the expected type after perform << operator between current type and argument type Read more
Source§

fn can_perform_shr_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform >> operator with between current DataType and any one of them
Source§

fn shr_op_result_type(&self, other: &Box<dyn DataType>) -> Box<dyn DataType>

Return the expected type after perform >> operator between current type and argument type Read more
Source§

fn can_perform_logical_and_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform && or AND operator with between current DataType and any one of them
Source§

fn logical_and_op_result_type( &self, other: &Box<dyn DataType>, ) -> Box<dyn DataType>

Return the expected type after perform && or AND operator between current type and argument type Read more
Source§

fn can_perform_logical_xor_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform `XOR’ operator with between current DataType and any one of them
Source§

fn logical_xor_op_result_type( &self, other: &Box<dyn DataType>, ) -> Box<dyn DataType>

Return the expected type after perform ‘XOR’ operator between current type and argument type Read more
Source§

fn can_perform_eq_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform `=’ operator with between current DataType and any one of them Read more
Source§

fn can_perform_group_eq_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform `= [ALL|ANY|SOME]’ operator with between current DataType and any one of them Read more
Source§

fn can_perform_bang_eq_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform !=' or <>` operator with between current DataType and any one of them Read more
Source§

fn can_perform_group_bang_eq_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform `!= [ALL|ANY|SOME]’ operator with between current DataType and any one of them Read more
Source§

fn can_perform_null_safe_eq_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform `<=>’ operator with between current DataType and any one of them Read more
Source§

fn can_perform_group_null_safe_eq_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform `<=> [ALL|ANY|SOME]’ operator with between current DataType and any one of them Read more
Source§

fn can_perform_gt_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform `>’ operator with between current DataType and any one of them Read more
Source§

fn can_perform_group_gt_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform `> [ALL|ANY|SOME]’ operator with between current DataType and any one of them Read more
Source§

fn can_perform_gte_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform `>=’ operator with between current DataType and any one of them Read more
Source§

fn can_perform_group_gte_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform `>= [ALL|ANY|SOME]’ operator with between current DataType and any one of them Read more
Source§

fn can_perform_lt_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform `<’ operator with between current DataType and any one of them Read more
Source§

fn can_perform_group_lt_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform `< [ALL|ANY|SOME]’ operator with between current DataType and any one of them Read more
Source§

fn can_perform_lte_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform `=<’ operator with between current DataType and any one of them Read more
Source§

fn can_perform_group_lte_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform `<= [ALL|ANY|SOME]’ operator with between current DataType and any one of them Read more
Source§

fn can_perform_not_op(&self) -> bool

Return a list of types that it’s possible to perform unary `NOT’ operator with between current DataType and any one of them
Source§

fn not_op_result_type(&self) -> Box<dyn DataType>

Return the expected type after perform unary `NOT’ operator on current type Read more
Source§

fn can_perform_neg_op(&self) -> bool

Return a list of types that it’s possible to perform unary `-’ operator with between current DataType and any one of them
Source§

fn neg_op_result_type(&self) -> Box<dyn DataType>

Return the expected type after perform unary `-’ operator on current type Read more
Source§

fn can_perform_bang_op(&self) -> bool

Return a list of types that it’s possible to perform unary `!’ operator with between current DataType and any one of them
Source§

fn bang_op_result_type(&self) -> Box<dyn DataType>

Return the expected type after perform unary `!’ operator on current type Read more
Source§

fn has_implicit_cast_from(&self, expr: &Box<dyn Expr>) -> bool

Return true if this Expression can be casted to the current type without any evaluation Read more
Source§

fn can_perform_explicit_cast_op_to(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform `Cast’ operator to Read more
Source§

fn can_perform_like_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform unary `LIKE’ operator with between current DataType and any one of them Read more
Source§

fn can_perform_glob_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform unary `GLOB’ operator with between current DataType and any one of them Read more
Source§

fn can_perform_regexp_op_with(&self) -> Vec<Box<dyn DataType>>

Return a list of types that it’s possible to perform unary `REGEXP’ operator with between current DataType and any one of them Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.