Trait tidb_query_aggr::AggrFunctionStateUpdatePartial [−][src]
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][−]
&mut self,
ctx: &mut EvalContext,
value: Option<TT>
) -> Result<()>
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][−]
&mut self,
ctx: &mut EvalContext,
value: Option<TT>,
repeat_times: usize
) -> Result<()>
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][−]
&mut self,
ctx: &mut EvalContext,
phantom_data: Option<TT>,
physical_values: TT::ChunkedType,
logical_rows: &[usize]
) -> Result<()>
Implementors
impl<T1, T> AggrFunctionStateUpdatePartial<T1> for AggrFnStateFirst<T> where
T1: EvaluableRef<'static> + 'static,
T: EvaluableRef<'static> + 'static,
VectorValue: VectorValueExt<T::EvaluableType>,
[src][+]
T1: EvaluableRef<'static> + 'static,
T: EvaluableRef<'static> + 'static,
VectorValue: VectorValueExt<T::EvaluableType>,
impl<T> AggrFunctionStateUpdatePartial<T> for AggrFnStateFirst<T> where
T: EvaluableRef<'static> + 'static,
VectorValue: VectorValueExt<T::EvaluableType>,
[src][+]
T: EvaluableRef<'static> + 'static,
VectorValue: VectorValueExt<T::EvaluableType>,
impl<T> AggrFunctionStateUpdatePartial<T> for AggrFnStateCount where
T: EvaluableRef<'static> + 'static,
VectorValue: VectorValueExt<T::EvaluableType>,
[src][+]
T: EvaluableRef<'static> + 'static,
VectorValue: VectorValueExt<T::EvaluableType>,
impl<T: EvaluableRef<'static>, State> AggrFunctionStateUpdatePartial<T> for State where
State: ConcreteAggrFunctionState<ParameterType = T>,
[src][+]
State: ConcreteAggrFunctionState<ParameterType = T>,
impl<T: EvaluableRef<'static>, State> AggrFunctionStateUpdatePartial<T> for State where
State: ConcreteAggrFunctionState,
[src][+]
State: ConcreteAggrFunctionState,