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

pub trait EvaluableRef<'a>: Clone + Debug + Send + Sync {
    type ChunkedType: ChunkRef<'a, Self> + 'a;
    type EvaluableType: EvaluableRet;

    const EVAL_TYPE: EvalType;

    fn borrow_scalar_value(v: &'a ScalarValue) -> Option<Self>;
fn borrow_scalar_value_ref(v: ScalarValueRef<'a>) -> Option<Self>;
fn borrow_vector_value(v: &'a VectorValue) -> Self::ChunkedType;
fn into_owned_value(self) -> Self::EvaluableType;
fn from_owned_value(value: &'a Self::EvaluableType) -> Self; }

Associated Types

type ChunkedType: ChunkRef<'a, Self> + 'a[src]

type EvaluableType: EvaluableRet[src]

Loading content...

Associated Constants

const EVAL_TYPE: EvalType[src]

Loading content...

Required methods

fn borrow_scalar_value(v: &'a 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<'a>) -> Option<Self>[src]

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

fn borrow_vector_value(v: &'a VectorValue) -> Self::ChunkedType[src]

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

fn into_owned_value(self) -> Self::EvaluableType[src]

Convert this reference to owned type

fn from_owned_value(value: &'a Self::EvaluableType) -> Self[src]

Loading content...

Implementations on Foreign Types

impl<'a, T: Evaluable + EvaluableRet> EvaluableRef<'a> for &'a T[src]

type ChunkedType = &'a ChunkedVecSized<T>

type EvaluableType = T

Loading content...

Implementors

impl<'a> EvaluableRef<'a> for EnumRef<'a>[src]

impl<'a> EvaluableRef<'a> for JsonRef<'a>[src]

impl<'a> EvaluableRef<'a> for SetRef<'a>[src]

impl<'a> EvaluableRef<'a> for BytesRef<'a>[src]

Loading content...