Struct tidb_query_aggr::AllAggrDefinitionParser[][src]

pub struct AllAggrDefinitionParser;

Parse all aggregate function definition from protobuf.

Trait Implementations

impl AggrDefinitionParser for AllAggrDefinitionParser[src]

fn check_supported(&self, aggr_def: &Expr) -> Result<()>[src]

Checks whether the aggregate function definition is supported.

fn parse(
    &self,
    aggr_def: Expr,
    ctx: &mut EvalContext,
    src_schema: &[FieldType],
    out_schema: &mut Vec<FieldType>,
    out_exp: &mut Vec<RpnExpression>
) -> Result<Box<dyn AggrFunction>>
[src]

Parses and transforms the aggregate function definition to generate corresponding AggrFunction instance.

Panic

May panic if the aggregate function definition is not supported.

Auto Trait Implementations

impl RefUnwindSafe for AllAggrDefinitionParser

impl Send for AllAggrDefinitionParser

impl Sync for AllAggrDefinitionParser

impl Unpin for AllAggrDefinitionParser

impl UnwindSafe for AllAggrDefinitionParser

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<V, W> ConvertFrom<W> for V where
    W: ConvertTo<V>, 
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T> Sealed<T> for T where
    T: ?Sized
[src]

impl<T> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]