pub enum ColumnOperationError {
DifferentColumnLength {
len_a: usize,
len_b: usize,
},
BinaryOperationInvalidColumnType {
operator: String,
left_type: ColumnType,
right_type: ColumnType,
},
UnaryOperationInvalidColumnType {
operator: String,
operand_type: ColumnType,
},
IntegerOverflow {
error: String,
},
DivisionByZero,
DecimalConversionError {
source: DecimalError,
},
UnionDifferentTypes {
correct_type: ColumnType,
actual_type: ColumnType,
},
IndexOutOfBounds {
index: usize,
len: usize,
},
SignedCastingError {
left_type: ColumnType,
right_type: ColumnType,
},
}
Expand description
Errors from operations on columns.
Variants§
DifferentColumnLength
Two columns do not have the same length
BinaryOperationInvalidColumnType
Incorrect ColumnType
in binary operations
Fields
left_type: ColumnType
ColumnType
of left operand
right_type: ColumnType
ColumnType
of right operand
UnaryOperationInvalidColumnType
Incorrect ColumnType
in unary operations
Fields
operand_type: ColumnType
ColumnType
of the operand
IntegerOverflow
Overflow in integer operations
DivisionByZero
Division by zero
DecimalConversionError
Errors related to decimal operations
Fields
source: DecimalError
The underlying source error
UnionDifferentTypes
Errors related to unioning columns of different types
Fields
correct_type: ColumnType
The correct data type
actual_type: ColumnType
The type of the column that caused the error
IndexOutOfBounds
Errors related to index out of bounds
SignedCastingError
Errors related to casting between signed and unsigned types. This error can be used as a signal that a casting operation is currently unsupported. For example, an i8 can fit inside of a u8 iff it is greater than zero. The library needs to have a way to check and prove that this condition is true. If the library does not have a proving mechanism in place for this check, then this error is then used to indicate that the operation is not supported.
Fields
left_type: ColumnType
ColumnType
of left operand
right_type: ColumnType
ColumnType
of right operand
Trait Implementations§
Source§impl Debug for ColumnOperationError
impl Debug for ColumnOperationError
Source§impl Display for ColumnOperationError
impl Display for ColumnOperationError
Source§impl Error for ColumnOperationError
impl Error for ColumnOperationError
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 ColumnOperationError
impl ErrorCompat for ColumnOperationError
Source§fn iter_chain(&self) -> ChainCompat<'_, '_>where
Self: AsErrorSource,
fn iter_chain(&self) -> ChainCompat<'_, '_>where
Self: AsErrorSource,
Error::source
. Read moreSource§impl From<ColumnOperationError> for ConversionError
impl From<ColumnOperationError> for ConversionError
Source§fn from(error: ColumnOperationError) -> Self
fn from(error: ColumnOperationError) -> Self
Source§impl From<ColumnOperationError> for ExpressionEvaluationError
impl From<ColumnOperationError> for ExpressionEvaluationError
Source§fn from(error: ColumnOperationError) -> Self
fn from(error: ColumnOperationError) -> Self
Source§impl From<ColumnOperationError> for TableOperationError
impl From<ColumnOperationError> for TableOperationError
Source§fn from(error: ColumnOperationError) -> Self
fn from(error: ColumnOperationError) -> Self
Source§impl From<DecimalError> for ColumnOperationError
impl From<DecimalError> for ColumnOperationError
Source§fn from(error: DecimalError) -> Self
fn from(error: DecimalError) -> Self
Source§impl PartialEq for ColumnOperationError
impl PartialEq for ColumnOperationError
impl Eq for ColumnOperationError
impl StructuralPartialEq for ColumnOperationError
Auto Trait Implementations§
impl Freeze for ColumnOperationError
impl RefUnwindSafe for ColumnOperationError
impl Send for ColumnOperationError
impl Sync for ColumnOperationError
impl Unpin for ColumnOperationError
impl UnwindSafe for ColumnOperationError
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
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>
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