pub enum CompileError {
Unsupported(String),
Expression(EvalError),
Unknown(String),
Cycle,
UnsupportedAggregate(String),
MultiColumnGroupBy,
HeterogeneousAggregateColumns(String),
MultiColumnOrderBy,
}Expand description
Compile-time errors. Runtime evaluation can’t fail — every closure
returns some Row — so any rejection lands here.
Variants§
Unsupported(String)
Operator kind not yet implemented by the compiler.
Expression(EvalError)
Expression evaluator rejected an inline string.
Unknown(String)
Identifier references a column / table the schema lookup doesn’t know about.
Cycle
MIR has a cycle. petgraph’s toposort surfaces this.
UnsupportedAggregate(String)
Aggregate function unsupported (something other than COUNT / SUM / MIN / MAX / AVG / COUNT DISTINCT).
MultiColumnGroupBy
Multi-column group-by (one column is the only shape we wire).
HeterogeneousAggregateColumns(String)
Aggregates over different value columns aren’t wired —
aggregate_i64 only takes one input column per call.
MultiColumnOrderBy
Multi-column ORDER BY not yet wired.
Trait Implementations§
Source§impl Debug for CompileError
impl Debug for CompileError
Source§impl Display for CompileError
impl Display for CompileError
Source§impl Error for CompileError
impl Error for CompileError
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()
Auto Trait Implementations§
impl Freeze for CompileError
impl RefUnwindSafe for CompileError
impl Send for CompileError
impl Sync for CompileError
impl Unpin for CompileError
impl UnsafeUnpin for CompileError
impl UnwindSafe for CompileError
Blanket Implementations§
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> 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<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
Source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
The method of
std::ops::AddAssign, for types that do not implement AddAssign.