pub enum ConversionError {
Show 20 variants
MissingColumn {
identifier: Box<Ident>,
table_ref: TableRef,
},
MissingSchemaOrTable {
object_name: ObjectName,
},
MissingColumnWithoutTable {
identifier: Box<Ident>,
},
InvalidDataType {
expected: ColumnType,
actual: ColumnType,
},
DataTypeMismatch {
left_type: String,
right_type: String,
},
DifferentColumnLength {
len_a: usize,
len_b: usize,
},
DuplicateResultAlias {
alias: String,
},
NonbooleanWhereClause {
datatype: ColumnType,
},
InvalidOrderBy {
alias: String,
},
InvalidGroupByColumnRef {
column: String,
},
InvalidExpression {
expression: String,
},
ParseError {
error: String,
},
DecimalConversionError {
source: DecimalError,
},
TimestampConversionError {
source: PoSQLTimestampError,
},
ColumnOperationError {
source: ColumnOperationError,
},
PostprocessingError {
source: PostprocessingError,
},
Unprovable {
error: String,
},
UnsupportedOperation {
message: String,
},
IdentifierConversionError {
error: String,
},
AnalyzeError {
source: AnalyzeError,
},
}
Expand description
Errors from converting an intermediate AST into a provable AST.
Variants§
MissingColumn
The column is missing in the table
MissingSchemaOrTable
Missing schema or table identifier
Fields
object_name: ObjectName
The ObjectName
MissingColumnWithoutTable
The column is missing (without table information)
InvalidDataType
Invalid data type received
DataTypeMismatch
Data types do not match
DifferentColumnLength
Two columns do not have the same length
DuplicateResultAlias
Duplicate alias in result columns
NonbooleanWhereClause
WHERE clause is not boolean
Fields
datatype: ColumnType
The actual datatype of the WHERE clause
InvalidOrderBy
ORDER BY clause references a non-existent alias
InvalidGroupByColumnRef
GROUP BY clause references a non-existent column
InvalidExpression
General error for invalid expressions
ParseError
General parsing error
DecimalConversionError
Errors related to decimal operations
Fields
source: DecimalError
The underlying source error
TimestampConversionError
Errors related to timestamp parsing
Fields
source: PoSQLTimestampError
The underlying source error
ColumnOperationError
Errors related to column operations
Fields
source: ColumnOperationError
The underlying source error
PostprocessingError
Errors related to postprocessing
Fields
source: PostprocessingError
The underlying source error
Unprovable
Query requires unprovable feature
UnsupportedOperation
Unsupported operation
IdentifierConversionError
Errors in converting Ident
to Identifier
AnalyzeError
Errors in the native analyze process
Fields
source: AnalyzeError
The underlying source error
Implementations§
Source§impl ConversionError
impl ConversionError
Sourcepub fn non_numeric_expr_in_agg<S: Into<String>>(dtype: S, func: S) -> Self
pub fn non_numeric_expr_in_agg<S: Into<String>>(dtype: S, func: S) -> Self
Returns a ConversionError::InvalidExpression
for non-numeric types used in numeric aggregation functions.
Trait Implementations§
Source§impl Debug for ConversionError
impl Debug for ConversionError
Source§impl Display for ConversionError
impl Display for ConversionError
Source§impl Error for ConversionError
impl Error for ConversionError
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 ConversionError
impl ErrorCompat for ConversionError
Source§fn iter_chain(&self) -> ChainCompat<'_, '_>where
Self: AsErrorSource,
fn iter_chain(&self) -> ChainCompat<'_, '_>where
Self: AsErrorSource,
Error::source
. Read moreSource§impl From<AnalyzeError> for ConversionError
impl From<AnalyzeError> for ConversionError
Source§fn from(error: AnalyzeError) -> Self
fn from(error: AnalyzeError) -> Self
Source§impl From<ColumnOperationError> for ConversionError
impl From<ColumnOperationError> for ConversionError
Source§fn from(error: ColumnOperationError) -> Self
fn from(error: ColumnOperationError) -> Self
Source§impl From<ConversionError> for String
impl From<ConversionError> for String
Source§fn from(error: ConversionError) -> Self
fn from(error: ConversionError) -> Self
Source§impl From<DecimalError> for ConversionError
impl From<DecimalError> for ConversionError
Source§fn from(error: DecimalError) -> Self
fn from(error: DecimalError) -> Self
Source§impl From<IntermediateDecimalError> for ConversionError
impl From<IntermediateDecimalError> for ConversionError
Source§fn from(err: IntermediateDecimalError) -> ConversionError
fn from(err: IntermediateDecimalError) -> ConversionError
Source§impl From<PoSQLTimestampError> for ConversionError
impl From<PoSQLTimestampError> for ConversionError
Source§fn from(error: PoSQLTimestampError) -> Self
fn from(error: PoSQLTimestampError) -> Self
Source§impl From<PostprocessingError> for ConversionError
impl From<PostprocessingError> for ConversionError
Source§fn from(error: PostprocessingError) -> Self
fn from(error: PostprocessingError) -> Self
Source§impl From<String> for ConversionError
impl From<String> for ConversionError
Source§impl PartialEq for ConversionError
impl PartialEq for ConversionError
impl Eq for ConversionError
impl StructuralPartialEq for ConversionError
Auto Trait Implementations§
impl Freeze for ConversionError
impl RefUnwindSafe for ConversionError
impl Send for ConversionError
impl Sync for ConversionError
impl Unpin for ConversionError
impl UnwindSafe for ConversionError
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> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.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 moreSource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.