pub trait ExprSchemable {
// Required methods
fn get_type(
&self,
schema: &dyn ExprSchema,
) -> Result<DataType, DataFusionError>;
fn nullable(
&self,
input_schema: &dyn ExprSchema,
) -> Result<bool, DataFusionError>;
fn metadata(
&self,
schema: &dyn ExprSchema,
) -> Result<HashMap<String, String>, DataFusionError>;
fn to_field(
&self,
input_schema: &dyn ExprSchema,
) -> Result<(Option<TableReference>, Arc<Field>), DataFusionError>;
fn cast_to(
self,
cast_to_type: &DataType,
schema: &dyn ExprSchema,
) -> Result<Expr, DataFusionError>;
fn data_type_and_nullable(
&self,
schema: &dyn ExprSchema,
) -> Result<(DataType, bool), DataFusionError>;
}
Expand description
Trait to allow expr to typable with respect to a schema
Required Methods§
Sourcefn get_type(&self, schema: &dyn ExprSchema) -> Result<DataType, DataFusionError>
fn get_type(&self, schema: &dyn ExprSchema) -> Result<DataType, DataFusionError>
Given a schema, return the type of the expr
Sourcefn nullable(
&self,
input_schema: &dyn ExprSchema,
) -> Result<bool, DataFusionError>
fn nullable( &self, input_schema: &dyn ExprSchema, ) -> Result<bool, DataFusionError>
Given a schema, return the nullability of the expr
Sourcefn metadata(
&self,
schema: &dyn ExprSchema,
) -> Result<HashMap<String, String>, DataFusionError>
fn metadata( &self, schema: &dyn ExprSchema, ) -> Result<HashMap<String, String>, DataFusionError>
Given a schema, return the expr’s optional metadata
Sourcefn to_field(
&self,
input_schema: &dyn ExprSchema,
) -> Result<(Option<TableReference>, Arc<Field>), DataFusionError>
fn to_field( &self, input_schema: &dyn ExprSchema, ) -> Result<(Option<TableReference>, Arc<Field>), DataFusionError>
Convert to a field with respect to a schema
Sourcefn cast_to(
self,
cast_to_type: &DataType,
schema: &dyn ExprSchema,
) -> Result<Expr, DataFusionError>
fn cast_to( self, cast_to_type: &DataType, schema: &dyn ExprSchema, ) -> Result<Expr, DataFusionError>
Cast to a type with respect to a schema
Sourcefn data_type_and_nullable(
&self,
schema: &dyn ExprSchema,
) -> Result<(DataType, bool), DataFusionError>
fn data_type_and_nullable( &self, schema: &dyn ExprSchema, ) -> Result<(DataType, bool), DataFusionError>
Given a schema, return the type and nullability of the expr