///|
/// Errors raised while building or running queries.
pub suberror OrmError {
InvalidIdentifier(String)
InvalidQuery(String)
Backend(String)
}
///|
/// Smart constructor for backend errors. Like [`Value`], `OrmError`'s variants
/// are read-only outside this package; drivers raise backend failures through
/// this instead of building the variant directly.
pub fn OrmError::backend(why : String) -> OrmError {
OrmError::Backend(why)
}
///|
/// Human-readable message, used for error reporting.
pub fn OrmError::message(self : OrmError) -> String {
match self {
OrmError::InvalidIdentifier(name) => "invalid identifier: \{name}"
OrmError::InvalidQuery(why) => "invalid query: \{why}"
OrmError::Backend(why) => "backend error: \{why}"
}
}