pub enum DataFusionError {
Show 14 variants
ArrowError(ArrowError),
ParquetError(ParquetError),
IoError(Error),
SQL(ParserError),
NotImplemented(String),
Internal(String),
Plan(String),
Configuration(String),
SchemaError(SchemaError),
Execution(String),
ResourcesExhausted(String),
External(Box<dyn Error + Send + Sync>),
Context(String, Box<DataFusionError>),
Substrait(String),
}
Expand description
DataFusion error
Variants§
ArrowError(ArrowError)
Error returned by arrow.
ParquetError(ParquetError)
Wraps an error from the Parquet crate
IoError(Error)
Error associated to I/O operations and associated traits.
SQL(ParserError)
Error returned when SQL is syntactically incorrect.
NotImplemented(String)
Error returned on a branch that we know it is possible but to which we still have no implementation for. Often, these errors are tracked in our issue tracker.
Internal(String)
Error returned as a consequence of an error in DataFusion. This error should not happen in normal usage of DataFusion.
DataFusions has internal invariants that the compiler is not always able to check. This error is raised when one of those invariants is not verified during execution.
Plan(String)
This error happens whenever a plan is not valid. Examples include impossible casts.
Configuration(String)
This error happens when an invalid or unsupported option is passed in a SQL statement
SchemaError(SchemaError)
This error happens with schema-related errors, such as schema inference not possible and non-unique column names.
Execution(String)
Error returned during execution of the query. Examples include files not found, errors in parsing certain types.
ResourcesExhausted(String)
This error is thrown when a consumer cannot acquire memory from the Memory Manager we can just cancel the execution of the partition.
External(Box<dyn Error + Send + Sync>)
Errors originating from outside DataFusion’s core codebase. For example, a custom S3Error from the crate datafusion-objectstore-s3
Context(String, Box<DataFusionError>)
Error with additional context
Substrait(String)
Errors originating from either mapping LogicalPlans to/from Substrait plans or serializing/deserializing protobytes to Substrait plans
Implementations§
source§impl DataFusionError
impl DataFusionError
sourcepub fn find_root(&self) -> &Self
pub fn find_root(&self) -> &Self
Get deepest underlying DataFusionError
DataFusionError
s sometimes form a chain, such as DataFusionError::ArrowError()
in order to conform
to the correct error signature. Thus sometimes there is a chain several layers deep that can obscure the
original error. This function finds the lowest level DataFusionError possible.
For example, find_root
will returnDataFusionError::ResourceExhausted
given the input
DataFusionError::ArrowError
ArrowError::External
Box(DataFusionError::Context)
DataFusionError::ResourceExhausted
This may be the same as self
.
sourcepub fn context(self, description: impl Into<String>) -> Self
pub fn context(self, description: impl Into<String>) -> Self
wraps self in Self::Context with a description