Skip to main content

GraphError

Enum GraphError 

Source
#[non_exhaustive]
pub enum GraphError {
Show 23 variants NodeNotFound { id: NodeId, }, EdgeNotFound { id: EdgeId, }, NodeNotAlive { id: NodeId, }, EdgeNotAlive { id: EdgeId, }, RowSpaceExhausted { kind: &'static str, rows: u64, max_rows: u64, }, Inconsistent { reason: String, }, PropertyIndexAlreadyExists { label: DbString, property: DbString, }, PropertyIndexNotFound { label: DbString, property: DbString, }, IndexValueRejected { label: DbString, property: DbString, expected_kind: TypedIndexKind, observed: &'static str, }, CompositePropertyIndexAlreadyExists { label: DbString, properties: Box<SmallVec<[DbString; 4]>>, }, VectorIndexAlreadyExists { label: DbString, property: DbString, }, VectorIndexInvalidDimension { dimension: u32, }, VectorIndexInvalidHnswConfig { max_neighbors: u16, ef_construction: u16, reason: &'static str, }, VectorIndexInvalidIvfConfig { target_centroids: u16, reason: &'static str, }, VectorIndexValueRejected { label: DbString, property: DbString, expected_dimension: u32, observed: String, }, TextIndexAlreadyExists { label: DbString, property: DbString, }, TypeViolation(TypeViolation), StoreAssignment(Box<StoreAssignmentError>), Durable { reason: String, }, Cancelled, Core(CoreError), Provider(ProviderError), Persist(PersistError),
}
Expand description

Error type for graph storage and mutation operations.

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

NodeNotFound

The requested node row does not exist.

Fields

§id: NodeId

Missing node ID.

§

EdgeNotFound

The requested edge row does not exist.

Fields

§id: EdgeId

Missing edge ID.

§

NodeNotAlive

The requested node row exists but is not alive.

Fields

§id: NodeId

Dead node ID.

§

EdgeNotAlive

The requested edge row exists but is not alive.

Fields

§id: EdgeId

Dead edge ID.

§

RowSpaceExhausted

The dense row store filled the v1 row-addressable range (max 2^32 rows).

Post-4c the cap is a row count, not an id value: rows append at the dense end and u32::MAX is reserved as RowIndex::TOMBSTONE, so the last addressable row is u32::MAX - 1.

Fields

§kind: &'static str

"node" or "edge".

§rows: u64

The current row count that hit the cap.

§max_rows: u64

The maximum addressable row count.

§

Inconsistent

The graph snapshot violates a structural invariant (e.g., row count exceeds the addressable u32 range).

Fields

§reason: String

Free-form description of the inconsistency.

§

PropertyIndexAlreadyExists

A property index already exists for this (label, property).

Fields

§label: DbString

Indexed node label.

§property: DbString

Indexed property key.

§

PropertyIndexNotFound

The named property index does not exist.

Fields

§label: DbString

Indexed node label.

§property: DbString

Indexed property key.

§

IndexValueRejected

A value cannot be admitted to the declared property index kind.

Fields

§label: DbString

Indexed node label.

§property: DbString

Indexed property key.

§expected_kind: TypedIndexKind

Registered index kind.

§observed: &'static str

Observed value kind or "NaN".

§

CompositePropertyIndexAlreadyExists

A composite property index already exists for this (label, properties...).

Fields

§label: DbString

Indexed node label.

§properties: Box<SmallVec<[DbString; 4]>>

Indexed property keys in declaration order.

Boxed so this variant does not inflate GraphError past clippy’s result_large_err byte threshold: an inline SmallVec<[DbString; 4]> is ~104 B (four owned string values plus header), and the variant otherwise drives every GraphResult<T> stack slot over the limit. The Box pushes the allocation onto the cold error-construction path.

§

VectorIndexAlreadyExists

A vector property index already exists for this (label, property).

Fields

§label: DbString

Indexed node label.

§property: DbString

Indexed vector property key.

§

VectorIndexInvalidDimension

A vector index was declared with an invalid dimensionality.

Fields

§dimension: u32

Declared vector dimensionality.

§

VectorIndexInvalidHnswConfig

A vector index was declared with invalid HNSW construction parameters.

Fields

§max_neighbors: u16

Declared HNSW M fanout.

§ef_construction: u16

Declared HNSW construction beam width.

§reason: &'static str

Reason the configuration is rejected.

§

VectorIndexInvalidIvfConfig

A vector index was declared with invalid IVF construction parameters.

Fields

§target_centroids: u16

Declared IVF target centroid count.

§reason: &'static str

Reason the configuration is rejected.

§

VectorIndexValueRejected

A value cannot be admitted to a vector index.

Fields

§label: DbString

Indexed node label.

§property: DbString

Indexed vector property key.

§expected_dimension: u32

Registered vector dimensionality.

§observed: String

Observed value kind or dimensionality.

§

TextIndexAlreadyExists

A text index already exists for this (label, property).

Fields

§label: DbString

Indexed node label.

§property: DbString

Indexed string property key.

§

TypeViolation(TypeViolation)

A closed graph mutation violates its bound graph type.

§

StoreAssignment(Box<StoreAssignmentError>)

A store assignment failed before the graph mutation was applied.

§

Durable

A commit-critical durable provider rejected or failed a write.

Fields

§reason: String

Human-readable durable provider failure reason.

§

Cancelled

The commit was cancelled at the pre-WAL cut-line (BRIEF-117): the committer observed the cancellation token set before it appended the commit to the WAL, so nothing was persisted or published. Past the WAL append a commit is irrevocable and this is never returned.

§

Core(CoreError)

Error propagated from selene-core.

§

Provider(ProviderError)

Error propagated from an index provider.

§

Persist(PersistError)

Error propagated from persistence recovery.

Implementations§

Source§

impl GraphError

Source

pub const fn gqlstatus(&self) -> &'static str

Map this error to its 5-character ISO GQLSTATUS code.

Trait Implementations§

Source§

impl Debug for GraphError

Source§

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

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

impl Diagnostic for GraphError

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 help(&self) -> Option<Box<dyn Display + '_>>

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 severity(&self) -> Option<Severity>

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

fn labels(&self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + '_>>

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

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

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

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

Additional related Diagnostics.
Source§

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

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

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

The cause of the error.
Source§

impl Display for GraphError

Source§

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

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

impl Error for GraphError

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

impl From<CoreError> for GraphError

Source§

fn from(source: CoreError) -> Self

Converts to this type from the input type.
Source§

impl From<GraphError> for JsonSearchError

Source§

fn from(source: GraphError) -> Self

Converts to this type from the input type.
Source§

impl From<GraphError> for TextSearchError

Source§

fn from(source: GraphError) -> Self

Converts to this type from the input type.
Source§

impl From<GraphError> for VectorSearchError

Source§

fn from(source: GraphError) -> Self

Converts to this type from the input type.
Source§

impl From<PersistError> for GraphError

Source§

fn from(source: PersistError) -> Self

Converts to this type from the input type.
Source§

impl From<ProviderError> for GraphError

Source§

fn from(source: ProviderError) -> Self

Converts to this type from the input type.
Source§

impl From<TypeViolation> for GraphError

Source§

fn from(source: TypeViolation) -> Self

Converts to this type from the input type.

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