Trait tidb_query_aggr::AggrFunctionState [−][src]
A trait for all single parameter aggregate function states.
Aggregate function states are created by corresponding aggregate functions. For each state, it can be updated or aggregated (to finalize a result) independently.
Note that aggregate function states are strongly typed, that is, the caller must provide the parameter in the correct data type for an aggregate function states that calculates over this data type. To be safely boxed and placed in a vector, interfaces are provided in a form that accept all kinds of data type. However, unmatched types will result in panics in runtime.
Required methods
fn push_result(
&self,
ctx: &mut EvalContext,
target: &mut [VectorValue]
) -> Result<()>
[src]
&self,
ctx: &mut EvalContext,
target: &mut [VectorValue]
) -> Result<()>
Implementors
impl AggrFunctionState for AggrFnStateCount
[src]
fn push_result(
&self,
_ctx: &mut EvalContext,
target: &mut [VectorValue]
) -> Result<()>
[src]
&self,
_ctx: &mut EvalContext,
target: &mut [VectorValue]
) -> Result<()>
impl<F> AggrFunctionState for F where
F: ConcreteAggrFunctionState,
[src]
F: ConcreteAggrFunctionState,
fn push_result(
&self,
ctx: &mut EvalContext,
target: &mut [VectorValue]
) -> Result<()>
[src]
&self,
ctx: &mut EvalContext,
target: &mut [VectorValue]
) -> Result<()>
impl<T> AggrFunctionState for AggrFnStateFirst<T> where
T: EvaluableRef<'static> + 'static,
VectorValue: VectorValueExt<T::EvaluableType>,
[src]
T: EvaluableRef<'static> + 'static,
VectorValue: VectorValueExt<T::EvaluableType>,
fn push_result(
&self,
_ctx: &mut EvalContext,
target: &mut [VectorValue]
) -> Result<()>
[src]
&self,
_ctx: &mut EvalContext,
target: &mut [VectorValue]
) -> Result<()>