Skip to main content

ExecutorError

Enum ExecutorError 

Source
#[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
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Parse

Source text failed to parse before execution.

Fields

§source: ParserError

Underlying parser error.

§

Analysis

Semantic analysis failed before execution.

Fields

§source: AnalysisError

Underlying analyzer error.

§

Plan

Planning failed before execution.

Fields

§source: PlannerError

Underlying planner error.

§

DataException

Runtime data exception such as arithmetic overflow or division by zero.

Fields

§subclass: DataExceptionSubclass

ISO Table 8 subclass selected by the emitting runtime site.

§message: String

Human-readable diagnostic message.

§span: SourceSpan

Source span for the failing expression.

§

DependentObjectStillExists

A graph mutation would leave a dependent object behind.

Fields

§message: String

Human-readable diagnostic message.

§span: SourceSpan

Source span for the failing mutation.

§

GraphTypeViolation

A closed-graph operation violated the bound graph type.

Fields

§message: String

Human-readable diagnostic message.

§span: SourceSpan

Source span for the failing graph-type operation.

§

InvalidReference

Runtime reference lookup failed for a malformed row or dynamic access.

Fields

§name: String

Missing or malformed reference name.

§span: SourceSpan

Source 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

§name: DbString

Parameter name without the leading $.

§span: SourceSpan

Source 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

§name: DbString

Parameter name without the leading $.

§expected: Cow<'static, str>

Human-readable expected type.

§actual: &'static str

Human-readable actual type.

§span: SourceSpan

Source 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

§name: String

Function name as written by the caller.

§span: SourceSpan

Source 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

§name: String

Function name as written by the caller.

§expected: &'static str

Human-readable arity contract.

§actual: usize

Actual argument count.

§span: SourceSpan

Source 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

§name: String

Function name as written by the caller.

§modifier: &'static str

Rejected modifier.

§span: SourceSpan

Source 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.

Fields

§feature: &'static str

Stable feature tag.

§span: SourceSpan

Source span requiring the feature.

§

DuplicateObject

Catalog object name collides with an existing declaration.

Fields

§kind: &'static str

Object class.

§name: DbString

Colliding object name.

§span: SourceSpan

Source span of the duplicate name.

§

InvalidTransactionState

Transaction state does not permit the requested executor operation.

Fields

§detail: &'static str

Stable detail tag asserted by tests.

§span: SourceSpan

Source span requiring a write transaction.

§

TransactionAlreadyActive

START TRANSACTION was requested while an explicit transaction exists.

Fields

§span: SourceSpan

Source span for the transaction-control statement.

§

NoActiveTransaction

COMMIT or ROLLBACK was requested without an explicit transaction.

Fields

§span: SourceSpan

Source span for the transaction-control statement.

§

InFailedTransaction

Statement was issued while the explicit transaction is aborted.

Fields

§span: SourceSpan

Source 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: SourceSpan

Source span for the rejected request.

§

Cancelled

Caller-requested cooperative cancellation interrupted the statement.

Fields

§span: SourceSpan

Source span for the cancellation checkpoint.

§

Timeout

The statement deadline elapsed before completion.

Fields

§deadline: Instant

Deadline configured on the session.

§elapsed: Duration

Duration since the deadline elapsed.

§span: SourceSpan

Source span for the timeout checkpoint.

§

RowCapExceeded

The statement produced more outermost result rows than allowed.

Fields

§cap: usize

Maximum allowed outermost result rows.

§span: SourceSpan

Source span for the result boundary.

§

ProgramLimitExceeded

An implementation-defined program limit was exceeded.

Fields

§detail: &'static str

Stable limit detail asserted by tests.

§span: SourceSpan

Source span for the limit boundary.

§

GraphMutation

The graph mutation funnel rejected a write.

Fields

§source: GraphError

Underlying graph-layer error.

§span: SourceSpan

Source span for the write site.

§

Flush

Commit-critical durability provider flush failed.

Fields

§provider_tag: ProviderTag

Durable provider tag.

§reason: String

Human-readable provider failure reason.

§

Procedure

Procedure registry execution failed.

Fields

§source: ProcedureError

Underlying procedure error.

§span: SourceSpan

Source span for the CALL site.

§

ImplementationDefined

Implementation-defined executor surface not supported by this brief.

Fields

§detail: &'static str

Stable detail tag asserted by tests.

Implementations§

Source§

impl ExecutorError

Source

pub fn gqlstatus(&self) -> GqlStatus

Map this executor failure to its GQLSTATUS code.

Trait Implementations§

Source§

impl Debug for ExecutorError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Diagnostic for ExecutorError

Source§

fn code(&self) -> Option<Box<dyn Display + '_>>

Unique diagnostic code that can be used to look up more information about this 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> + '_>>

Labels to apply to this Diagnostic’s Diagnostic::source_code
Source§

fn severity(&self) -> Option<Severity>

Diagnostic severity. This may be used by ReportHandlers to change the display format of this diagnostic. Read more
Source§

fn help<'a>(&'a self) -> Option<Box<dyn Display + 'a>>

Additional help text related to this 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>>

URL to visit for a more detailed explanation/help about this Diagnostic.
Source§

fn source_code(&self) -> Option<&dyn SourceCode>

Source code to apply this Diagnostic’s Diagnostic::labels to.
Source§

fn related<'a>( &'a self, ) -> Option<Box<dyn Iterator<Item = &'a dyn Diagnostic> + 'a>>

Additional related Diagnostics.
Source§

fn diagnostic_source(&self) -> Option<&dyn Diagnostic>

The cause of the error.
Source§

impl Display for ExecutorError

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for ExecutorError

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> ArchivePointee for T

Source§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
Source§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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 more
Source§

impl<T> LayoutRaw for T

Source§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Returns the layout of the type.
Source§

impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
where T: SharedNiching<N1, N2>, N1: Niching<T>, N2: Niching<T>,

Source§

unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool

Returns whether the given value has been niched. Read more
Source§

fn resolve_niched(out: Place<NichedOption<T, N1>>)

Writes data to out indicating that a T is niched.
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Pointee for T

Source§

type Metadata = ()

The metadata type for pointers and references to this type.
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more