#[non_exhaustive]pub enum ExecutorError {
Show 27 variants
Parse {
source: ParserError,
},
Analysis {
source: AnalysisError,
},
Plan {
source: PlannerError,
},
DataException {
subclass: DataExceptionSubclass,
message: String,
span: SourceSpan,
},
DependentObjectStillExists {
message: String,
span: SourceSpan,
},
GraphTypeViolation {
message: String,
span: SourceSpan,
},
InvalidReference {
name: String,
span: SourceSpan,
},
UnboundParameter {
name: DbString,
span: SourceSpan,
},
InvalidParameterType {
name: DbString,
expected: Cow<'static, str>,
actual: &'static str,
span: SourceSpan,
},
UnknownFunction {
name: String,
span: SourceSpan,
},
FunctionArityMismatch {
name: String,
expected: &'static str,
actual: usize,
span: SourceSpan,
},
InvalidFunctionModifier {
name: String,
modifier: &'static str,
span: SourceSpan,
},
FeatureNotSupportedYet {
feature: &'static str,
span: SourceSpan,
},
DuplicateObject {
kind: &'static str,
name: DbString,
span: SourceSpan,
},
InvalidTransactionState {
detail: &'static str,
span: SourceSpan,
},
TransactionAlreadyActive {
span: SourceSpan,
},
NoActiveTransaction {
span: SourceSpan,
},
InFailedTransaction {
span: SourceSpan,
},
SessionClosed {
span: SourceSpan,
},
Cancelled {
span: SourceSpan,
},
Timeout {
deadline: Instant,
elapsed: Duration,
span: SourceSpan,
},
RowCapExceeded {
cap: usize,
span: SourceSpan,
},
ProgramLimitExceeded {
detail: &'static str,
span: SourceSpan,
},
GraphMutation {
source: GraphError,
span: SourceSpan,
},
Flush {
provider_tag: ProviderTag,
reason: String,
},
Procedure {
source: ProcedureError,
span: SourceSpan,
},
ImplementationDefined {
detail: &'static str,
},
}Expand description
Query execution failure.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Parse
Source text failed to parse before execution.
Fields
source: ParserErrorUnderlying parser error.
Analysis
Semantic analysis failed before execution.
Fields
source: AnalysisErrorUnderlying analyzer error.
Plan
Planning failed before execution.
Fields
source: PlannerErrorUnderlying planner error.
DataException
Runtime data exception such as arithmetic overflow or division by zero.
Fields
subclass: DataExceptionSubclassISO Table 8 subclass selected by the emitting runtime site.
span: SourceSpanSource span for the failing expression.
DependentObjectStillExists
A graph mutation would leave a dependent object behind.
Fields
span: SourceSpanSource span for the failing mutation.
GraphTypeViolation
A closed-graph operation violated the bound graph type.
Fields
span: SourceSpanSource span for the failing graph-type operation.
InvalidReference
Runtime reference lookup failed for a malformed row or dynamic access.
Fields
span: SourceSpanSource span requiring the reference.
UnboundParameter
A $name parameter was referenced but not bound on the session.
Maps to GQLSTATUS 22G03 per ISO/IEC 39075:2024 section 23.1 Table 8.
Fields
span: SourceSpanSource span requiring the parameter.
InvalidParameterType
A bound $name parameter had the wrong type for its runtime position.
Maps to GQLSTATUS 22G03 per ISO/IEC 39075:2024 section 23.1 Table 8.
Fields
span: SourceSpanSource span requiring the parameter.
UnknownFunction
Scalar function name was not registered in the v1.1 closed set.
Maps to GQLSTATUS 22G03 per ISO/IEC 39075:2024 section 23.1 Table 8.
Fields
span: SourceSpanSource span for the function call.
FunctionArityMismatch
Scalar function received the wrong number of arguments.
Maps to GQLSTATUS 22G03 per ISO/IEC 39075:2024 section 23.1 Table 8.
Fields
span: SourceSpanSource span for the function call.
InvalidFunctionModifier
Scalar function call used an aggregate-only modifier.
Maps to GQLSTATUS 22G03 per ISO/IEC 39075:2024 section 23.1 Table 8.
Fields
span: SourceSpanSource span for the function call.
FeatureNotSupportedYet
Construct is ISO-legal but not yet implemented in the evaluator surface.
Maps to GQLSTATUS 42N01, a selene-db implementation-defined subclass under standard class 42 per ISO/IEC 39075:2024 section 23.1. The message is deliberately version-agnostic so it does not go stale across releases.
DuplicateObject
Catalog object name collides with an existing declaration.
Fields
span: SourceSpanSource span of the duplicate name.
InvalidTransactionState
Transaction state does not permit the requested executor operation.
Fields
span: SourceSpanSource span requiring a write transaction.
TransactionAlreadyActive
START TRANSACTION was requested while an explicit transaction exists.
Fields
span: SourceSpanSource span for the transaction-control statement.
NoActiveTransaction
COMMIT or ROLLBACK was requested without an explicit transaction.
Fields
span: SourceSpanSource span for the transaction-control statement.
InFailedTransaction
Statement was issued while the explicit transaction is aborted.
Fields
span: SourceSpanSource span for the rejected statement.
SessionClosed
A GQL-request was issued against a session closed by SESSION CLOSE.
Maps to GQLSTATUS 2DN01, a selene-db implementation-defined subclass under standard class 2D per ISO/IEC 39075:2024 section 23.1 (section 7.3).
Fields
span: SourceSpanSource span for the rejected request.
Cancelled
Caller-requested cooperative cancellation interrupted the statement.
Fields
span: SourceSpanSource span for the cancellation checkpoint.
Timeout
The statement deadline elapsed before completion.
Fields
span: SourceSpanSource span for the timeout checkpoint.
RowCapExceeded
The statement produced more outermost result rows than allowed.
Fields
span: SourceSpanSource span for the result boundary.
ProgramLimitExceeded
An implementation-defined program limit was exceeded.
Fields
span: SourceSpanSource span for the limit boundary.
GraphMutation
The graph mutation funnel rejected a write.
Fields
source: GraphErrorUnderlying graph-layer error.
span: SourceSpanSource span for the write site.
Flush
Commit-critical durability provider flush failed.
Fields
provider_tag: ProviderTagDurable provider tag.
Procedure
Procedure registry execution failed.
Fields
source: ProcedureErrorUnderlying procedure error.
span: SourceSpanSource span for the CALL site.
ImplementationDefined
Implementation-defined executor surface not supported by this brief.
Implementations§
Trait Implementations§
Source§impl Debug for ExecutorError
impl Debug for ExecutorError
Source§impl Diagnostic for ExecutorError
impl Diagnostic for ExecutorError
Source§fn code(&self) -> Option<Box<dyn Display + '_>>
fn code(&self) -> Option<Box<dyn Display + '_>>
Diagnostic. Ideally also globally unique, and documented
in the toplevel crate’s documentation for easy searching. Rust path
format (foo::bar::baz) is recommended, but more classic codes like
E0123 or enums will work just fine.Source§fn labels(&self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + '_>>
fn labels(&self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + '_>>
Diagnostic’s Diagnostic::source_codeSource§fn severity(&self) -> Option<Severity>
fn severity(&self) -> Option<Severity>
ReportHandlers to change the display format
of this diagnostic. Read moreSource§fn help<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
fn help<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
Diagnostic. Do you have any
advice for the poor soul who’s just run into this issue?Source§fn url<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
fn url<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
Diagnostic.Source§fn source_code(&self) -> Option<&dyn SourceCode>
fn source_code(&self) -> Option<&dyn SourceCode>
Diagnostic’s Diagnostic::labels to.Diagnostics.Source§fn diagnostic_source(&self) -> Option<&dyn Diagnostic>
fn diagnostic_source(&self) -> Option<&dyn Diagnostic>
Source§impl Display for ExecutorError
impl Display for ExecutorError
Source§impl Error for ExecutorError
impl Error for ExecutorError
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()
Auto Trait Implementations§
impl !RefUnwindSafe for ExecutorError
impl !UnwindSafe for ExecutorError
impl Freeze for ExecutorError
impl Send for ExecutorError
impl Sync for ExecutorError
impl Unpin for ExecutorError
impl UnsafeUnpin for ExecutorError
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.