pub trait ExprSchemable {
    // Required methods
    fn get_type<S>(&self, schema: &S) -> Result<DataType, DataFusionError>
       where S: ExprSchema;
    fn nullable<S>(&self, input_schema: &S) -> Result<bool, DataFusionError>
       where S: ExprSchema;
    fn metadata<S>(
        &self,
        schema: &S
    ) -> Result<HashMap<String, String, RandomState>, DataFusionError>
       where S: ExprSchema;
    fn to_field(
        &self,
        input_schema: &DFSchema
    ) -> Result<DFField, DataFusionError>;
    fn cast_to<S>(
        self,
        cast_to_type: &DataType,
        schema: &S
    ) -> Result<Expr, DataFusionError>
       where S: ExprSchema;
}
Expand description

trait to allow expr to typable with respect to a schema

Required Methods§

source

fn get_type<S>(&self, schema: &S) -> Result<DataType, DataFusionError>where S: ExprSchema,

given a schema, return the type of the expr

source

fn nullable<S>(&self, input_schema: &S) -> Result<bool, DataFusionError>where S: ExprSchema,

given a schema, return the nullability of the expr

source

fn metadata<S>( &self, schema: &S ) -> Result<HashMap<String, String, RandomState>, DataFusionError>where S: ExprSchema,

given a schema, return the expr’s optional metadata

source

fn to_field(&self, input_schema: &DFSchema) -> Result<DFField, DataFusionError>

convert to a field with respect to a schema

source

fn cast_to<S>( self, cast_to_type: &DataType, schema: &S ) -> Result<Expr, DataFusionError>where S: ExprSchema,

cast to a type with respect to a schema

Implementors§