pub enum LiteError {
Show 31 variants
Storage {
detail: String,
},
LockPoisoned,
JoinError {
detail: String,
},
Serialization {
detail: String,
},
InvalidNamespace {
ns: u8,
},
BadRequest {
detail: String,
},
CollectionNotFound {
engine: &'static str,
collection: String,
},
UniqueViolation {
collection: String,
detail: String,
},
NotNullViolation {
collection: String,
column: String,
},
Sync {
detail: String,
},
Query(String),
ArrowTypeConversion {
expected: String,
got: String,
},
Backpressure {
detail: String,
},
Unsupported {
detail: String,
},
WorkerFailed {
detail: String,
},
Encryption {
detail: String,
},
Corrupted {
detail: String,
},
FtsIndex {
collection: String,
detail: String,
},
TextIndexMissing {
collection: String,
field: String,
},
FtsQueryInvalid {
collection: String,
detail: String,
},
FtsSearch {
collection: String,
detail: String,
},
CounterFault {
collection: String,
fault: CounterFault,
},
TypeMismatch {
collection: String,
detail: String,
},
DataException {
detail: String,
},
NumericValueOutOfRange {
detail: String,
},
UndefinedObject {
object: String,
},
ObjectNotReady {
object: String,
detail: String,
},
ConstraintViolation {
collection: String,
constraint: String,
detail: String,
},
RetryableRefusal {
detail: String,
},
AuthorizationDenied {
resource: String,
},
PrevalidationRejected {
reason: String,
},
}Expand description
Errors specific to the Lite embedded engine.
Variants§
Storage
LockPoisoned
JoinError
Serialization
InvalidNamespace
BadRequest
CollectionNotFound
A statement named a collection the engine it addressed does not
hold. Maps to collection_not_found at the public API boundary.
UniqueViolation
A write that would duplicate a declared unique key. Maps to SQLSTATE
23505 at the SQL boundary.
NotNullViolation
A write that would store NULL in a NOT NULL column. Maps to SQLSTATE
23502 at the SQL boundary.
Sync
Query(String)
ArrowTypeConversion
Backpressure
Unsupported
Feature or SQL construct not supported in this Lite beta release.
WorkerFailed
The OPFS worker bridge failed to start or encountered an IPC error.
This variant is produced when PagedbStorage::open_opfs cannot spawn
the dedicated Web Worker or when the worker signals a corruption-class
failure that cannot be recovered automatically (OPFS has no rename).
Encryption
An error during key derivation, salt I/O, or encryption setup.
Corrupted
A corruption-class failure surfaced from the storage backend.
Kept as a distinct variant (rather than folded into LiteError::Storage)
so the corruption signal survives the error-type conversions and reaches
the open-sequence recovery driver, which renames the corrupt store aside,
recreates a fresh one, and retries the open exactly once.
FtsIndex
A full-text index update failed while writing a document.
The write that triggered it must fail too: the row and its postings are written together, and nothing re-indexes the gap afterwards — the next write to the document only indexes its new text, so a swallowed failure leaves the document permanently missing from (or stale in) the index.
TextIndexMissing
A full-text read named a field no document of the collection holds as text, while other fields of the collection are text-indexed. Maps to a bad-request error at the public API boundary.
FtsQueryInvalid
A full-text query the index cannot run, such as a query with only negated terms. Maps to a bad-request error at the public API boundary.
FtsSearch
A full-text index read failed. The search fails with it: an empty result would claim that no document matches.
CounterFault
A KV counter atomic read a stored value it cannot parse as a number,
or computed a result out of range. Maps to SQLSTATE 22P02 or 22003
at the SQL boundary, the same as Origin.
TypeMismatch
A value of the wrong kind for its target: a KV atomic on a typed row
with no column of the type it reads, a text element in a VECTOR
literal, a scalar write onto a nested CRDT container. collection is
empty when the fault names no collection. SQLSTATE 42804.
DataException
An input the engine cannot compute on: a vector of the wrong
dimension, or index input it cannot use. The same public error
Origin raises for the same fault, SQLSTATE 22000.
NumericValueOutOfRange
A value past the range of its numeric type: an integer wider than
its column, a constant that overflows. SQLSTATE 22003.
UndefinedObject
A statement or CRDT operation named an object that does not exist,
such as a document absent at the requested version. SQLSTATE 42704.
ObjectNotReady
The object exists, but not in the state the request needs, such as a
CRDT version below the compaction boundary. SQLSTATE 55000.
ConstraintViolation
A named constraint refused a write. constraint names the
constraint. SQLSTATE class 23.
RetryableRefusal
The request applied nothing it reports as done. The same request succeeds once a transient condition clears: missing causal history arrives, or a full queue drains. Retriable.
AuthorizationDenied
The caller is not allowed to perform the request: expired auth or a delta signature that does not check out.
PrevalidationRejected
A pre-validation gate refused the request, such as a replayed sync sequence number. The same request fails the same way every time.
Implementations§
Trait Implementations§
Source§impl Error for LiteError
impl Error for LiteError
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<CrdtError> for LiteError
Exhaustive, so a new CRDT error picks its own class rather than
defaulting to Storage.
impl From<CrdtError> for LiteError
Exhaustive, so a new CRDT error picks its own class rather than
defaulting to Storage.
Source§impl From<EvalError> for LiteError
Expression evaluation failure: division or modulo by a zero divisor, a
call to a function no evaluator implements, or a function argument it
cannot compute on (vectors of different dimensions, an argument of the
wrong type, a malformed JSONPath). SQL requires each to fail the
statement rather than fold the row to NULL. Mapped to
LiteError::Query so it surfaces to the caller instead of silently
filtering rows out. An exact aggregate total out of range is
LiteError::NumericValueOutOfRange, the class Origin gives it.
impl From<EvalError> for LiteError
Expression evaluation failure: division or modulo by a zero divisor, a
call to a function no evaluator implements, or a function argument it
cannot compute on (vectors of different dimensions, an argument of the
wrong type, a malformed JSONPath). SQL requires each to fail the
statement rather than fold the row to NULL. Mapped to
LiteError::Query so it surfaces to the caller instead of silently
filtering rows out. An exact aggregate total out of range is
LiteError::NumericValueOutOfRange, the class Origin gives it.
Source§impl From<LiteError> for NodeDbError
impl From<LiteError> for NodeDbError
Source§impl From<PagedbError> for LiteError
impl From<PagedbError> for LiteError
Source§fn from(e: PagedbError) -> Self
fn from(e: PagedbError) -> Self
Source§impl From<SchemaError> for LiteError
impl From<SchemaError> for LiteError
Source§fn from(e: SchemaError) -> Self
fn from(e: SchemaError) -> Self
Source§impl From<SqlError> for LiteError
Exhaustive, so a new planner error picks its own class rather than
defaulting to a plan error.
impl From<SqlError> for LiteError
Exhaustive, so a new planner error picks its own class rather than defaulting to a plan error.
Source§impl From<VectorError> for LiteError
A vector engine error, classified as Origin classifies it: an input
vector of the wrong dimension, or index input the engine cannot use, is
the caller’s data error; a memory budget refusal is backpressure; a
stored-data or checkpoint failure is corruption.
impl From<VectorError> for LiteError
A vector engine error, classified as Origin classifies it: an input vector of the wrong dimension, or index input the engine cannot use, is the caller’s data error; a memory budget refusal is backpressure; a stored-data or checkpoint failure is corruption.
Source§fn from(e: VectorError) -> Self
fn from(e: VectorError) -> Self
Auto Trait Implementations§
impl Freeze for LiteError
impl RefUnwindSafe for LiteError
impl Send for LiteError
impl Sync for LiteError
impl Unpin for LiteError
impl UnsafeUnpin for LiteError
impl UnwindSafe for LiteError
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> ErasedDestructor for Twhere
T: 'static,
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.impl<T> NodeDbMarker for T
Source§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);Source§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.