pub enum QueryError {
TableNotFound(String),
ColumnNotFound {
table: String,
column: String,
},
TypeError(String),
JoinLimitExceeded,
SortLimitExceeded,
MemoryLimitExceeded {
limit_bytes: usize,
requested_bytes: usize,
},
Parse(String),
IndexError(String),
ViewError(String),
StorageError(String),
ReadonlyNeedsWrite,
Execution(String),
}Expand description
Typed error enum for query execution failures.
Replaces the previous Result<QueryResult, String> pattern with
structured variants that callers can programmatically match on.
The From<String> impl enables gradual migration — existing
Err(format!(...)) sites continue to compile via ? propagation.
Variants§
TableNotFound(String)
Table does not exist.
ColumnNotFound
Column does not exist on table.
TypeError(String)
Type mismatch in expression.
JoinLimitExceeded
Join result exceeded MAX_JOIN_ROWS.
SortLimitExceeded
Sort exceeded MAX_SORT_ROWS.
MemoryLimitExceeded
Per-query memory budget exceeded during materialization (sort buffer, join build side, GROUP BY hash table, or IN-list). Returned cleanly so the server process is never OOM-killed by a crafted query.
Parse(String)
Parse error (wraps parser error).
IndexError(String)
Index-related error.
ViewError(String)
View-related error.
StorageError(String)
WAL or I/O error.
ReadonlyNeedsWrite
Readonly path needs write lock (internal sentinel).
Execution(String)
Generic execution error (catch-all for migration).
Trait Implementations§
Source§impl Clone for QueryError
impl Clone for QueryError
Source§fn clone(&self) -> QueryError
fn clone(&self) -> QueryError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for QueryError
impl Debug for QueryError
Source§impl Display for QueryError
impl Display for QueryError
Source§impl Error for QueryError
impl Error for QueryError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<&str> for QueryError
impl From<&str> for QueryError
Source§impl From<String> for QueryError
impl From<String> for QueryError
Source§impl PartialEq for QueryError
impl PartialEq for QueryError
Source§fn eq(&self, other: &QueryError) -> bool
fn eq(&self, other: &QueryError) -> bool
self and other values to be equal, and is used by ==.