Trait tidb_query_datatype::codec::data_type::Evaluable[][src]

pub trait Evaluable: Clone + Debug + Send + Sync + 'static {
    const EVAL_TYPE: EvalType;

    fn borrow_scalar_value(v: &ScalarValue) -> Option<&Self>;
fn borrow_scalar_value_ref(v: ScalarValueRef<'_>) -> Option<&Self>;
fn borrow_vector_value(v: &VectorValue) -> &ChunkedVecSized<Self>; }
[]

A trait of all types that can be used during evaluation (eval type).

Associated Constants

const EVAL_TYPE: EvalType[src]

Required methods

fn borrow_scalar_value(v: &ScalarValue) -> Option<&Self>[src][]

Borrows this concrete type from a ScalarValue in the same type; panics if the varient mismatches.

fn borrow_scalar_value_ref(v: ScalarValueRef<'_>) -> Option<&Self>[src][]

Borrows this concrete type from a ScalarValueRef in the same type; panics if the varient mismatches.

fn borrow_vector_value(v: &VectorValue) -> &ChunkedVecSized<Self>[src][]

Borrows a slice of this concrete type from a VectorValue in the same type; panics if the varient mismatches.

Implementors

impl Evaluable for Decimal[src][+]

impl Evaluable for Duration[src][+]

impl Evaluable for DateTime[src][+]

impl Evaluable for Int[src][+]

impl Evaluable for Real[src][+]