#[non_exhaustive]pub enum SegmentMetaError {
InvalidIndexBounds {
path: String,
source: IndexValueError,
},
TooShort {
path: String,
},
ParquetRead {
path: String,
source: ParquetError,
backtrace: Backtrace,
},
RowGroupTask {
path: String,
source: JoinError,
backtrace: Backtrace,
},
OrderedIndexColumn {
source: ParquetIndexColumnError,
},
ParquetStatsShape {
path: String,
column: String,
detail: String,
},
NoObservedIndexValue {
path: String,
column: String,
expected_domain: &'static str,
},
LogicalSchemaInvalid {
path: String,
source: Box<LogicalSchemaValidationError>,
backtrace: Backtrace,
},
ArrowToLogicalSchema {
path: String,
source: Box<ArrowToLogicalSchemaError>,
backtrace: Backtrace,
},
}Expand description
Errors that can occur while validating or decoding segment metadata.
This enum intentionally contains no storage backend errors. IO-related
errors should be wrapped at the IO boundary (for example, in
crate::transaction_log::SegmentError).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
InvalidIndexBounds
Persisted segment bounds violate the table’s ordered-index domain.
Fields
source: IndexValueErrorDomain or ordering failure.
TooShort
The file is too short to be a valid Parquet file.
ParquetRead
Parquet reader / metadata failure.
Fields
source: ParquetErrorUnderlying parquet error that caused this failure.
RowGroupTask
A parallel row-group inspection task failed before returning its typed result.
Fields
OrderedIndexColumn
The registered ordered-index column is missing or incompatible.
Fields
source: ParquetIndexColumnErrorExact registered and observed Parquet column details.
ParquetStatsShape
Statistics exist but are not well-shaped (wrong length / unexpected type).
Fields
NoObservedIndexValue
The file contains no non-null value for the registered ordered index.
Fields
LogicalSchemaInvalid
Failed to derive a valid LogicalSchema from the Parquet file.
Fields
source: Box<LogicalSchemaValidationError>Underlying logical schema error that triggered this failure.
ArrowToLogicalSchema
An embedded Arrow schema cannot be represented by the logical schema model.
Trait Implementations§
Source§impl Debug for SegmentMetaError
impl Debug for SegmentMetaError
Source§impl Display for SegmentMetaError
impl Display for SegmentMetaError
Source§impl Error for SegmentMetaError
impl Error for SegmentMetaError
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 ErrorCompat for SegmentMetaError
impl ErrorCompat for SegmentMetaError
Source§fn iter_chain(&self) -> ChainCompat<'_, '_> ⓘwhere
Self: AsErrorSource,
fn iter_chain(&self) -> ChainCompat<'_, '_> ⓘwhere
Self: AsErrorSource,
Error::source. Read moreSource§impl From<ParquetIndexColumnError> for SegmentMetaError
impl From<ParquetIndexColumnError> for SegmentMetaError
Source§fn from(error: ParquetIndexColumnError) -> Self
fn from(error: ParquetIndexColumnError) -> Self
Source§impl From<SegmentMetaError> for SegmentError
impl From<SegmentMetaError> for SegmentError
Source§fn from(error: SegmentMetaError) -> Self
fn from(error: SegmentMetaError) -> Self
Auto Trait Implementations§
impl !Freeze for SegmentMetaError
impl !RefUnwindSafe for SegmentMetaError
impl !UnwindSafe for SegmentMetaError
impl Send for SegmentMetaError
impl Sync for SegmentMetaError
impl Unpin for SegmentMetaError
impl UnsafeUnpin for SegmentMetaError
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)
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> 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> ⓘ
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