Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
DataFusionError in datafusion::common - Rust
[go: Go Back, main page]

Enum DataFusionError

Source
pub enum DataFusionError {
Show 20 variants ArrowError(ArrowError, Option<String>), ParquetError(ParquetError), AvroError(Box<Error>), ObjectStore(Error), IoError(Error), SQL(ParserError, Option<String>), NotImplemented(String), Internal(String), Plan(String), Configuration(String), SchemaError(SchemaError, Box<Option<String>>), Execution(String), ExecutionJoin(JoinError), ResourcesExhausted(String), External(Box<dyn Error + Send + Sync>), Context(String, Box<DataFusionError>), Substrait(String), Diagnostic(Box<Diagnostic>, Box<DataFusionError>), Collection(Vec<DataFusionError>), Shared(Arc<DataFusionError>),
}
Expand description

DataFusion error

Variantsยง

ยง

ArrowError(ArrowError, Option<String>)

Error returned by arrow.

2nd argument is for optional backtrace

ยง

ParquetError(ParquetError)

Error when reading / writing Parquet data.

ยง

AvroError(Box<Error>)

Error when reading Avro data.

ยง

ObjectStore(Error)

Error when reading / writing to / from an object_store (e.g. S3 or LocalFile)

ยง

IoError(Error)

Error when an I/O operation fails

ยง

SQL(ParserError, Option<String>)

Error when SQL is syntactically incorrect.

2nd argument is for optional backtrace

ยง

NotImplemented(String)

Error when a feature is not yet implemented.

These errors are sometimes returned for features that are still in development and are not entirely complete. Often, these errors are tracked in our issue tracker.

ยง

Internal(String)

Error due to bugs in DataFusion

This error should not happen in normal usage of DataFusion. It results from something that wasnโ€™t expected/anticipated by the implementation and that is most likely a bug (the error message even encourages users to open a bug report). A user should not be able to trigger internal errors under normal circumstances by feeding in malformed queries, bad data, etc.

Note that I/O errors (or any error that happens due to external systems) do NOT fall under this category. See other variants such as Self::IoError and Self::External.

DataFusions has internal invariants that the compiler is not always able to check. This error is raised when one of those invariants does not hold for some reason.

ยง

Plan(String)

Error during planning of the query.

This error happens when the user provides a bad query or plan, for example the user attempts to call a function that doesnโ€™t exist, or if the types of a function call are not supported.

ยง

Configuration(String)

Error for invalid or unsupported configuration options.

ยง

SchemaError(SchemaError, Box<Option<String>>)

Error when there is a problem with the query related to schema.

This error can be returned in cases such as when schema inference is not possible and when column names are not unique.

2nd argument is for optional backtrace Boxing the optional backtrace to prevent https://rust-lang.github.io/rust-clippy/master/index.html#/result_large_err

ยง

Execution(String)

Error during execution of the query.

This error is returned when an error happens during execution due to a malformed input. For example, the user passed malformed arguments to a SQL method, opened a CSV file that is broken, or tried to divide an integer by zero.

ยง

ExecutionJoin(JoinError)

JoinError during execution of the query.

This error canโ€™t occur for unjoined tasks, such as execution shutdown.

ยง

ResourcesExhausted(String)

Error when resources (such as memory of scratch disk space) are exhausted.

This error is thrown when a consumer cannot acquire additional memory or other resources needed to execute the query from the Memory Manager.

ยง

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 from either mapping LogicalPlans to/from Substrait plans or serializing/deserializing protobytes to Substrait plans

ยง

Diagnostic(Box<Diagnostic>, Box<DataFusionError>)

Error wrapped together with additional contextual information intended for end users, to help them understand what went wrong by providing human-readable messages, and locations in the source query that relate to the error in some way.

ยง

Collection(Vec<DataFusionError>)

A collection of one or more DataFusionError. Useful in cases where DataFusion can recover from an erroneous state, and produce more errors before terminating. e.g. when planning a SELECT clause, DataFusion can synchronize to the next SelectItem if the previous one had errors. The end result is that the user can see errors about all SelectItem, instead of just the first one.

ยง

Shared(Arc<DataFusionError>)

A DataFusionError which shares an underlying DataFusionError.

This is useful when the same underlying DataFusionError is passed to multiple receivers. For example, when the source of a repartition errors and the error is propagated to multiple consumers.

Implementationsยง

Sourceยง

impl DataFusionError

Source

pub const BACK_TRACE_SEP: &'static str = "\n\nbacktrace: "

The separator between the error message and the backtrace

Source

pub fn find_root(&self) -> &DataFusionError

Get deepest underlying DataFusionError

DataFusionErrors 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.

Source

pub fn context(self, description: impl Into<String>) -> DataFusionError

wraps self in Self::Context with a description

Source

pub fn strip_backtrace(&self) -> String

Strips backtrace out of the error message If backtrace enabled then error has a format โ€œmessageโ€ Self::BACK_TRACE_SEP โ€œbacktraceโ€ The method strips the backtrace and outputs โ€œmessageโ€

Source

pub fn get_back_trace() -> String

To enable optional rust backtrace in DataFusion:

Example: cargo build โ€“features โ€˜backtraceโ€™ RUST_BACKTRACE=1 ./app

Source

pub fn builder() -> DataFusionErrorBuilder

Source

pub fn message(&self) -> Cow<'_, str>

Source

pub fn with_diagnostic(self, diagnostic: Diagnostic) -> DataFusionError

Wraps the error with contextual information intended for end users

Source

pub fn with_diagnostic_fn<F>(self, f: F) -> DataFusionError

Wraps the error with contextual information intended for end users. Takes a function that inspects the error and returns the diagnostic to wrap it with.

Source

pub fn diagnostic(&self) -> Option<&Diagnostic>

Gets the Diagnostic associated with the error, if any. If there is more than one, only the outermost Diagnostic is returned.

Source

pub fn iter(&self) -> impl Iterator<Item = &DataFusionError>

Return an iterator over this DataFusionError and any other DataFusionErrors in a DataFusionError::Collection.

Sometimes DataFusion is able to collect multiple errors in a SQL query before terminating, e.g. across different expressions in a SELECT statements or different sides of a UNION. This method returns an iterator over all the errors in the collection.

For this to work, the top-level error must be a DataFusionError::Collection, not something that contains it.

Trait Implementationsยง

Sourceยง

impl Debug for DataFusionError

Sourceยง

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Sourceยง

impl Display for DataFusionError

Sourceยง

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Sourceยง

impl Error for DataFusionError

Sourceยง

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 ยท Sourceยง

fn description(&self) -> &str

๐Ÿ‘ŽDeprecated since 1.42.0: use the Display impl or to_string()
1.0.0 ยท Sourceยง

fn cause(&self) -> Option<&dyn Error>

๐Ÿ‘ŽDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
Sourceยง

fn provide<'a>(&'a self, request: &mut Request<'a>)

๐Ÿ”ฌThis is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Sourceยง

impl From<&Arc<DataFusionError>> for DataFusionError

Sourceยง

fn from(e: &Arc<DataFusionError>) -> DataFusionError

Converts to this type from the input type.
Sourceยง

impl From<ArrowError> for DataFusionError

Sourceยง

fn from(e: ArrowError) -> DataFusionError

Converts to this type from the input type.
Sourceยง

impl From<Box<dyn Error + Send + Sync>> for DataFusionError

Sourceยง

fn from(err: Box<dyn Error + Send + Sync>) -> DataFusionError

Converts to this type from the input type.
Sourceยง

impl From<BuilderError> for DataFusionError

Sourceยง

fn from(e: BuilderError) -> DataFusionError

Converts to this type from the input type.
Sourceยง

impl From<DataFusionError> for ArrowError

Sourceยง

fn from(e: DataFusionError) -> ArrowError

Converts to this type from the input type.
Sourceยง

impl From<Error> for DataFusionError

Sourceยง

fn from(_e: Error) -> DataFusionError

Converts to this type from the input type.
Sourceยง

impl From<Error> for DataFusionError

Sourceยง

fn from(e: Error) -> DataFusionError

Converts to this type from the input type.
Sourceยง

impl From<Error> for DataFusionError

Sourceยง

fn from(e: Error) -> DataFusionError

Converts to this type from the input type.
Sourceยง

impl From<Error> for DataFusionError

Sourceยง

fn from(e: Error) -> DataFusionError

Converts to this type from the input type.
Sourceยง

impl From<Error> for DataFusionError

Sourceยง

fn from(e: Error) -> DataFusionError

Converts to this type from the input type.
Sourceยง

impl From<ParquetError> for DataFusionError

Sourceยง

fn from(e: ParquetError) -> DataFusionError

Converts to this type from the input type.
Sourceยง

impl From<ParserError> for DataFusionError

Sourceยง

fn from(e: ParserError) -> DataFusionError

Converts to this type from the input type.

Auto Trait Implementationsยง

Blanket Implementationsยง

Sourceยง

impl<T> Any for T
where T: 'static + ?Sized,

Sourceยง

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Sourceยง

impl<T> Borrow<T> for T
where T: ?Sized,

Sourceยง

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Sourceยง

impl<T> BorrowMut<T> for T
where T: ?Sized,

Sourceยง

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Sourceยง

impl<T> From<T> for T

Sourceยง

fn from(t: T) -> T

Returns the argument unchanged.

Sourceยง

impl<T, U> Into<U> for T
where U: From<T>,

Sourceยง

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Sourceยง

impl<T> IntoEither for T

Sourceยง

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Sourceยง

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Sourceยง

impl<T> Same for T

Sourceยง

type Output = T

Should always be Self
Sourceยง

impl<T> ToString for T
where T: Display + ?Sized,

Sourceยง

fn to_string(&self) -> String

Converts the given value to a String. Read more
Sourceยง

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Sourceยง

type Error = Infallible

The type returned in the event of a conversion error.
Sourceยง

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Sourceยง

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Sourceยง

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Sourceยง

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Sourceยง

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Sourceยง

fn vzip(self) -> V

Sourceยง

impl<T> ErasedDestructor for T
where T: 'static,

Sourceยง

impl<T> Ungil for T
where T: Send,