Enum reth_libmdbx::Error

source ·
pub enum Error {
Show 34 variants KeyExist, NotFound, NoData, PageNotFound, Corrupted, Panic, VersionMismatch, Invalid, MapFull, DbsFull, ReadersFull, TxnFull, CursorFull, PageFull, UnableExtendMapSize, Incompatible, BadRslot, BadTxn, BadValSize, BadDbi, Problem, Busy, Multival, BadSignature, WannaRecovery, KeyMismatch, DecodeError, Access, TooLarge, DecodeErrorLenDiff, NestedTransactionsUnsupportedWithWriteMap, WriteTransactionUnsupportedInReadOnlyMode, ReadTransactionTimeout, Other(i32),
}
Expand description

An MDBX error kind.

Variants§

§

KeyExist

Key/data pair already exists.

§

NotFound

No matching key/data pair found.

§

NoData

The cursor is already at the end of data.

§

PageNotFound

Requested page not found.

§

Corrupted

Database is corrupted.

§

Panic

Fatal environment error.

§

VersionMismatch

DB version mismatch.

§

Invalid

File is not an MDBX file.

§

MapFull

Environment map size limit reached.

§

DbsFull

Too many DBI-handles (maxdbs reached).

§

ReadersFull

Too many readers (maxreaders reached).

§

TxnFull

Transaction has too many dirty pages (i.e., the transaction is too big).

§

CursorFull

Cursor stack limit reached.

§

PageFull

Page has no more space.

§

UnableExtendMapSize

The database engine was unable to extend mapping, e.g. the address space is unavailable or busy.

This can mean:

  • The database size was extended by other processes beyond the environment map size, and the engine was unable to extend the mapping while starting a read transaction. The environment should be re-opened to continue.
  • The engine was unable to extend the mapping during a write transaction or an explicit call to change the geometry of the environment.
§

Incompatible

Environment or database is not compatible with the requested operation or flags.

§

BadRslot

Invalid reuse of reader locktable slot.

§

BadTxn

Transaction is not valid for requested operation.

§

BadValSize

Invalid size or alignment of key or data for the target database.

§

BadDbi

The specified DBI-handle is invalid.

§

Problem

Unexpected internal error.

§

Busy

Another write transaction is running.

§

Multival

The specified key has more than one associated value.

§

BadSignature

Wrong signature of a runtime object(s).

§

WannaRecovery

Database should be recovered, but cannot be done automatically since it’s in read-only mode.

§

KeyMismatch

The given key value is mismatched to the current cursor position.

§

DecodeError

Decode error: An invalid parameter was specified.

§

Access

The environment opened in read-only.

§

TooLarge

Database is too large for the current system.

§

DecodeErrorLenDiff

Decode error length difference:

An invalid parameter was specified, or the environment has an active write transaction.

§

NestedTransactionsUnsupportedWithWriteMap

If the Environment was opened with EnvironmentKind::WriteMap flag, nested transactions are not supported.

§

WriteTransactionUnsupportedInReadOnlyMode

If the Environment was opened with in read-only mode Mode::ReadOnly, write transactions can’t be opened.

§

ReadTransactionTimeout

Read transaction has been timed out.

§

Other(i32)

Unknown error code.

Implementations§

source§

impl Error

source

pub const fn from_err_code(err_code: c_int) -> Self

Converts a raw error code to an Error.

source

pub const fn to_err_code(&self) -> i32

Converts an Error to the raw error code.

Trait Implementations§

source§

impl Clone for Error

source§

fn clone(&self) -> Error

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl Error for Error

1.30.0 · 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 #99301)
Provides type-based access to context intended for error reports. Read more
source§

impl From<Error> for i32

source§

fn from(value: Error) -> Self

Converts to this type from the input type.
source§

impl PartialEq for Error

source§

fn eq(&self, other: &Error) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for Error

source§

impl Eq for Error

source§

impl StructuralPartialEq for Error

Auto Trait Implementations§

§

impl Freeze for Error

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnwindSafe for Error

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> 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> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit #126799)
Performs copy-assignment from self to dst. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

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

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

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> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

source§

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

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 8 bytes

Size for each variant:

  • KeyExist: 0 bytes
  • NotFound: 0 bytes
  • NoData: 0 bytes
  • PageNotFound: 0 bytes
  • Corrupted: 0 bytes
  • Panic: 0 bytes
  • VersionMismatch: 0 bytes
  • Invalid: 0 bytes
  • MapFull: 0 bytes
  • DbsFull: 0 bytes
  • ReadersFull: 0 bytes
  • TxnFull: 0 bytes
  • CursorFull: 0 bytes
  • PageFull: 0 bytes
  • UnableExtendMapSize: 0 bytes
  • Incompatible: 0 bytes
  • BadRslot: 0 bytes
  • BadTxn: 0 bytes
  • BadValSize: 0 bytes
  • BadDbi: 0 bytes
  • Problem: 0 bytes
  • Busy: 0 bytes
  • Multival: 0 bytes
  • BadSignature: 0 bytes
  • WannaRecovery: 0 bytes
  • KeyMismatch: 0 bytes
  • DecodeError: 0 bytes
  • Access: 0 bytes
  • TooLarge: 0 bytes
  • DecodeErrorLenDiff: 0 bytes
  • NestedTransactionsUnsupportedWithWriteMap: 0 bytes
  • WriteTransactionUnsupportedInReadOnlyMode: 0 bytes
  • ReadTransactionTimeout: 0 bytes
  • Other: 4 bytes