#[non_exhaustive]pub enum ScanError {
InvalidRange {
source: IndexValueError,
backtrace: Box<Backtrace>,
},
InvalidSegmentBounds {
source: IndexValueError,
backtrace: Box<Backtrace>,
},
Storage {
path: String,
source: Box<StorageError>,
},
Parquet {
path: String,
operation: &'static str,
source: Box<ParquetError>,
backtrace: Box<Backtrace>,
},
Arrow {
path: String,
column: String,
operation: &'static str,
source: Box<ArrowError>,
backtrace: Box<Backtrace>,
},
MissingIndexColumn {
path: String,
column: String,
backtrace: Box<Backtrace>,
},
IndexColumnTypeMismatch {
path: String,
column: String,
expected: &'static str,
datatype: Box<DataType>,
backtrace: Box<Backtrace>,
},
TimeConversionOverflow {
path: String,
column: String,
timestamp: DateTime<Utc>,
backtrace: Box<Backtrace>,
},
}Expand description
Errors from planning or lazily executing a table scan.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
InvalidRange
The requested half-open ordered-index range is invalid.
Fields
§
source: IndexValueErrorComplete range validation error.
InvalidSegmentBounds
Persisted segment bounds cannot be ordered in the table’s index domain.
Fields
§
source: IndexValueErrorComplete segment bounds error.
Storage
Opening a segment from storage failed during lazy scan execution.
Parquet
Reading Parquet metadata or batches failed.
Fields
§
source: Box<ParquetError>Complete Parquet error.
Arrow
An Arrow compute operation failed while filtering a batch.
Fields
§
source: Box<ArrowError>Complete Arrow error.
MissingIndexColumn
A segment is missing the configured ordered-index column.
Fields
IndexColumnTypeMismatch
A segment’s ordered-index Arrow type disagrees with the table index.
Fields
TimeConversionOverflow
Converting a timestamp bound to the segment’s unit would overflow i64.
Trait Implementations§
Source§impl Error for ScanError
impl Error for ScanError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
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
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl ErrorCompat for ScanError
impl ErrorCompat for ScanError
Source§fn iter_chain(&self) -> ChainCompat<'_, '_> ⓘwhere
Self: AsErrorSource,
fn iter_chain(&self) -> ChainCompat<'_, '_> ⓘwhere
Self: AsErrorSource,
Returns an iterator for traversing the chain of errors,
starting with the current error
and continuing with recursive calls to
Error::source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for ScanError
impl !UnwindSafe for ScanError
impl Freeze for ScanError
impl Send for ScanError
impl Sync for ScanError
impl Unpin for ScanError
impl UnsafeUnpin for ScanError
Blanket Implementations§
Source§impl<T> AsErrorSource for Twhere
T: Error + 'static,
impl<T> AsErrorSource for Twhere
T: Error + 'static,
Source§fn as_error_source(&self) -> &(dyn Error + 'static)
fn as_error_source(&self) -> &(dyn Error + 'static)
For maximum effectiveness, this needs to be called as a method
to benefit from Rust’s automatic dereferencing of method
receivers.
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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> ⓘ
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 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> ⓘ
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