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: ObjectNameThe 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: ColumnTypeThe 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: DecimalErrorThe underlying source error
TimestampConversionError
Errors related to timestamp parsing
Fields
source: PoSQLTimestampErrorThe underlying source error
ColumnOperationError
Errors related to column operations
Fields
source: ColumnOperationErrorThe underlying source error
PostprocessingError
Errors related to postprocessing
Fields
source: PostprocessingErrorThe 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: AnalyzeErrorThe 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.