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§
sourcefn input_types(&self) -> Result<Vec<ConcreteDataType>>
fn input_types(&self) -> Result<Vec<ConcreteDataType>>
Get the input data types of the Accumulator.
sourcefn set_input_types(&self, input_types: Vec<ConcreteDataType>) -> Result<()>
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).