pub enum SegmentMetaError {
UnsupportedFormat {
format: FileFormat,
},
TooShort {
path: String,
},
InvalidMagic {
path: String,
},
ParquetRead {
path: String,
source: ParquetError,
backtrace: Backtrace,
},
ArrowRead {
path: String,
source: ArrowError,
backtrace: Backtrace,
},
TimeColumn {
path: String,
source: TimeColumnError,
},
ParquetStatsShape {
path: String,
column: String,
detail: String,
},
ParquetStatsMissing {
path: String,
column: String,
},
LogicalSchemaInvalid {
path: String,
source: LogicalSchemaError,
},
}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
transaction_log::segments::SegmentError).
Variants§
UnsupportedFormat
File format is not supported for v0.1.
Fields
format: FileFormatThe offending file format.
TooShort
The file is too short to be a valid Parquet file.
InvalidMagic
Magic bytes at the start / end of file don’t match the Parquet spec.
ParquetRead
Parquet reader / metadata failure.
Fields
source: ParquetErrorUnderlying parquet error that caused this failure.
ArrowRead
Arrow decode failure while reading Parquet data.
Fields
source: ArrowErrorUnderlying Arrow error that caused this failure.
TimeColumn
Time column validation or metadata error.
Fields
source: TimeColumnErrorThe underlying time column error.
ParquetStatsShape
Statistics exist but are not well-shaped (wrong length / unexpected type).
Fields
ParquetStatsMissing
No usable statistics for the time column; v0.1 may fall back to a scan.
Fields
LogicalSchemaInvalid
Failed to derive a valid LogicalSchema from the Parquet file.
Fields
source: LogicalSchemaErrorUnderlying logical schema error that triggered this failure.
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 description(&self) -> &str
fn description(&self) -> &str
Source§fn cause(&self) -> Option<&dyn Error>
fn cause(&self) -> Option<&dyn Error>
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<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 Send for SegmentMetaError
impl Sync for SegmentMetaError
impl Unpin for SegmentMetaError
impl UnsafeUnpin for SegmentMetaError
impl !UnwindSafe 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
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