Trait tidb_query_aggr::AggrFunctionStateUpdatePartial[][src]

pub trait AggrFunctionStateUpdatePartial<TT: EvaluableRef<'static>> {
    unsafe fn update_unsafe(
        &mut self,
        ctx: &mut EvalContext,
        value: Option<TT>
    ) -> Result<()>;
unsafe fn update_repeat_unsafe(
        &mut self,
        ctx: &mut EvalContext,
        value: Option<TT>,
        repeat_times: usize
    ) -> Result<()>;
unsafe fn update_vector_unsafe(
        &mut self,
        ctx: &mut EvalContext,
        phantom_data: Option<TT>,
        physical_values: TT::ChunkedType,
        logical_rows: &[usize]
    ) -> Result<()>; }

A helper trait that provides update() and update_vector() over a concrete type, which will be relied in AggrFunctionState.

Required methods

unsafe fn update_unsafe(
    &mut self,
    ctx: &mut EvalContext,
    value: Option<TT>
) -> Result<()>
[src]

Updates the internal state giving one row data.

Panics

Panics if the aggregate function does not support the supplied concrete data type as its parameter.

Safety

This function should be called with update macro.

unsafe fn update_repeat_unsafe(
    &mut self,
    ctx: &mut EvalContext,
    value: Option<TT>,
    repeat_times: usize
) -> Result<()>
[src]

Repeatedly updates the internal state giving one row data.

Panics

Panics if the aggregate function does not support the supplied concrete data type as its parameter.

Safety

This function should be called with update_repeat_unsafe macro.

unsafe fn update_vector_unsafe(
    &mut self,
    ctx: &mut EvalContext,
    phantom_data: Option<TT>,
    physical_values: TT::ChunkedType,
    logical_rows: &[usize]
) -> Result<()>
[src]

Updates the internal state giving multiple rows data.

Panics

Panics if the aggregate function does not support the supplied concrete data type as its parameter.

Safety

This function should be called with update_vector macro.

Loading content...

Implementors

impl<T1, T> AggrFunctionStateUpdatePartial<T1> for AggrFnStateFirst<T> where
    T1: EvaluableRef<'static> + 'static,
    T: EvaluableRef<'static> + 'static,
    VectorValue: VectorValueExt<T::EvaluableType>, 
[src]

impl<T> AggrFunctionStateUpdatePartial<T> for AggrFnStateFirst<T> where
    T: EvaluableRef<'static> + 'static,
    VectorValue: VectorValueExt<T::EvaluableType>, 
[src]

impl<T> AggrFunctionStateUpdatePartial<T> for AggrFnStateCount where
    T: EvaluableRef<'static> + 'static,
    VectorValue: VectorValueExt<T::EvaluableType>, 
[src]

impl<T: EvaluableRef<'static>, State> AggrFunctionStateUpdatePartial<T> for State where
    State: ConcreteAggrFunctionState<ParameterType = T>, 
[src]

impl<T: EvaluableRef<'static>, State> AggrFunctionStateUpdatePartial<T> for State where
    State: ConcreteAggrFunctionState
[src]

Loading content...