pub enum QueryError {
Show 15 variants
TableNotFound(String),
ColumnNotFound {
table: String,
column: String,
},
TypeError(String),
JoinLimitExceeded,
NestedLoopPairLimitExceeded {
left_rows: usize,
right_rows: usize,
limit: usize,
},
SortLimitExceeded,
MemoryLimitExceeded {
limit_bytes: usize,
requested_bytes: usize,
},
Parse(String),
IndexError(String),
ViewError(String),
StorageError(String),
ReadonlyNeedsWrite,
Timeout {
timeout_ms: u64,
},
Cancelled,
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.
NestedLoopPairLimitExceeded
A fallback nested-loop join would evaluate more candidate pairs than the measured safety cap.
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).
Timeout
The per-query deadline elapsed before execution finished. Returned as a
clean early-return from an unbounded executor loop so the query releases
its locks instead of running to completion. timeout_ms is the
configured per-query timeout.
Cancelled
Execution was cancelled cooperatively (e.g. the issuing client
disconnected). Like QueryError::Timeout, a clean early-return.
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()