common_query::logical_plan::accumulator

Trait AggrFuncTypeStore

source
pub trait AggrFuncTypeStore:
    Send
    + Sync
    + Debug {
    // Required methods
    fn input_types(&self) -> Result<Vec<ConcreteDataType>>;
    fn set_input_types(&self, input_types: Vec<ConcreteDataType>) -> Result<()>;
}
Expand description

AggrFuncTypeStore stores the aggregate function’s input data’s types.

When creating Accumulator generically, we have to know the input data’s types. However, DataFusion does not provide the input data’s types at the time of creating Accumulator. To solve the problem, we store the datatypes upfront here.

Required Methods§

source

fn input_types(&self) -> Result<Vec<ConcreteDataType>>

Get the input data types of the Accumulator.

source

fn set_input_types(&self, input_types: Vec<ConcreteDataType>) -> Result<()>

Store the input data types that are provided by DataFusion at runtime (when it is evaluating return type function).

Implementors§