toql_core/sql_expr/
resolver_error.rs

1//! Errors from [Resolver](crate::sql_expr::resolver::Resolver)
2use thiserror::Error;
3
4/// Represents all errors from the Resolver
5#[derive(Error, Debug)]
6pub enum ResolverError {
7    /// Aux param can't be resolved, because it's missing.
8    #[error("aux param `{0}` is missing")]
9    AuxParamMissing(String),
10    /// Argument param can't be resolved, because it's missing.
11    #[error("not enough arguments provided")]
12    ArgumentMissing,
13    /// Value of self alias is unknown.
14    #[error("unresolved self alias `..`")]
15    UnresolvedSelfAlias,
16    /// Value of other alias is unknown.
17    #[error("unresolved other alias `...`")]
18    UnresolvedOtherAlias,
19    /// Value of argument is unknown.
20    #[error("unresolved argument")]
21    UnresolvedArgument,
22    /// Value of aux param is unknown.
23    #[error("unresolved aux param `{0}`")]
24    UnresolvedAuxParameter(String),
25}
26
27// Result type alias with [ResolverError]
28pub type Result<T> = std::result::Result<T, ResolverError>;