pub enum ProjectionError {
TypeMismatch {
column: usize,
expected: DataType,
found: &'static str,
},
RowWidth {
expected: usize,
found: usize,
},
NonMonotonicLsn {
last: u64,
next: u64,
},
Block(ColumnBlockError),
Envelope(String),
CorruptSegment(&'static str),
}Expand description
Errors from projection emit/scan. Every variant fails closed — a corrupt or unsupported input is rejected, never silently mis-decoded.
Variants§
TypeMismatch
A value’s runtime type did not match the column’s declared type.
RowWidth
A row’s arity did not match the schema width.
NonMonotonicLsn
LSNs must be strictly increasing on the append-only log.
Block(ColumnBlockError)
The sealed RDCC frame failed to decode (bad magic, CRC, directory…).
Envelope(String)
The crypto page envelope failed to open (wrong key, tampering, clip).
CorruptSegment(&'static str)
A decoded column stream was ragged for its fixed-width type, or a column expected by the schema was absent from the segment.
Trait Implementations§
Source§impl Clone for ProjectionError
impl Clone for ProjectionError
Source§fn clone(&self) -> ProjectionError
fn clone(&self) -> ProjectionError
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ProjectionError
impl Debug for ProjectionError
Source§impl Display for ProjectionError
impl Display for ProjectionError
impl Eq for ProjectionError
Source§impl Error for ProjectionError
impl Error for ProjectionError
1.30.0 · 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 From<ColumnBlockError> for ProjectionError
impl From<ColumnBlockError> for ProjectionError
Source§fn from(e: ColumnBlockError) -> ProjectionError
fn from(e: ColumnBlockError) -> ProjectionError
Converts to this type from the input type.
Source§impl PartialEq for ProjectionError
impl PartialEq for ProjectionError
Source§fn eq(&self, other: &ProjectionError) -> bool
fn eq(&self, other: &ProjectionError) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ProjectionError
Auto Trait Implementations§
impl Freeze for ProjectionError
impl RefUnwindSafe for ProjectionError
impl Send for ProjectionError
impl Sync for ProjectionError
impl Unpin for ProjectionError
impl UnsafeUnpin for ProjectionError
impl UnwindSafe for ProjectionError
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request