#[non_exhaustive]pub enum EngineError {
Io(Error),
Allocation {
bytes: usize,
align: usize,
detail: String,
},
Device {
backend: BackendKind,
detail: String,
},
Execution(String),
Plan(String),
Format(String),
Unsupported {
feature: &'static str,
detail: String,
},
Arrow(ArrowError),
DataFusion(DataFusionError),
}Expand description
Errors produced by OxideLake library crates.
Binaries convert this into anyhow::Error; DataFusion boundaries convert it
into DataFusionError::External via the provided From impl.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Io(Error)
An operating-system or object-store I/O failure.
Allocation
A host or device allocation failed.
Fields
Device
A device or driver call failed.
Fields
backend: BackendKindThe backend that reported the failure.
Execution(String)
Operator execution failed.
Plan(String)
Planning or plan (de)serialization failed.
Format(String)
A file or stream is malformed (corrupt or truncated data).
Unsupported
The requested capability is not implemented on this path.
This is the only permitted “stub”: callers must be able to fall back or report the gap; panicking placeholders are forbidden.
Fields
Arrow(ArrowError)
An Arrow error.
DataFusion(DataFusionError)
A DataFusion error.
Implementations§
Source§impl EngineError
impl EngineError
Sourcepub fn unsupported(feature: &'static str, detail: impl Into<String>) -> Self
pub fn unsupported(feature: &'static str, detail: impl Into<String>) -> Self
Builds an EngineError::Unsupported.
Sourcepub fn execution(detail: impl Into<String>) -> Self
pub fn execution(detail: impl Into<String>) -> Self
Builds an EngineError::Execution.
Sourcepub fn plan(detail: impl Into<String>) -> Self
pub fn plan(detail: impl Into<String>) -> Self
Builds an EngineError::Plan.
Sourcepub fn format(detail: impl Into<String>) -> Self
pub fn format(detail: impl Into<String>) -> Self
Builds an EngineError::Format.
Sourcepub fn device(backend: BackendKind, detail: impl Into<String>) -> Self
pub fn device(backend: BackendKind, detail: impl Into<String>) -> Self
Builds an EngineError::Device.
Sourcepub fn allocation(bytes: usize, align: usize, detail: impl Into<String>) -> Self
pub fn allocation(bytes: usize, align: usize, detail: impl Into<String>) -> Self
Builds an EngineError::Allocation.
Sourcepub fn is_unsupported(&self) -> bool
pub fn is_unsupported(&self) -> bool
Returns true for EngineError::Unsupported, the signal operators use
to fall back to the CPU path.
Trait Implementations§
Source§impl Debug for EngineError
impl Debug for EngineError
Source§impl Display for EngineError
impl Display for EngineError
Source§impl Error for EngineError
impl Error for EngineError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<ArrowError> for EngineError
impl From<ArrowError> for EngineError
Source§fn from(source: ArrowError) -> Self
fn from(source: ArrowError) -> Self
Source§impl From<DataFusionError> for EngineError
impl From<DataFusionError> for EngineError
Source§fn from(source: DataFusionError) -> Self
fn from(source: DataFusionError) -> Self
Source§impl From<EngineError> for DataFusionError
impl From<EngineError> for DataFusionError
Source§fn from(err: EngineError) -> Self
fn from(err: EngineError) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for EngineError
impl !UnwindSafe for EngineError
impl Freeze for EngineError
impl Send for EngineError
impl Sync for EngineError
impl Unpin for EngineError
impl UnsafeUnpin for EngineError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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