Skip to main content

DbError

Enum DbError 

Source
pub enum DbError {
Show 57 variants Message(String), WriteDependencyConflict { writes: Vec<WriteId>, }, ReplayRetirementCutNotPrefix, ReadOnlyWriteTransaction, Sqlite(Error), ExpectedSchema(&'static Error), Serde(Error), Protocol(Box<StoreProtocolError>), RemoteObject(Box<RemoteObjectRecordError>), AudiencePackage(Box<AudiencePackageError>), ObjectHash(InvalidObjectHash), BlobLocator(BlobLocatorError), CircleId(CircleIdError), RowRoutingKey(RowRoutingKeyError), CirclePartitionControl(CirclePartitionControlError), Gate(GateError), Storage(StorageError), BlobPath(PathTokenError), Io(Error), File(FileError), LocalBlobRemoval(LocalBlobRemovalError), CachedLocatorRemoval(CachedLocatorRemovalError), IntRange(TryFromIntError), ParseInt(ParseIntError), Utf8(FromUtf8Error), Utf8Slice(Utf8Error), BlobDecl(BlobDeclError), ChangesetIdentity(ChangesetIdentityError), Changeset(ChangesetError), AuthorStreamId(AuthorStreamIdParseError), RowBlobRef(RowBlobRefError), WriteRetraction(Box<WriteRetractionError>), RotationGate(RotationGateError), Encryption(EncryptionError), SnapshotImage(Box<SnapshotImageError>), PayloadStore(Box<PayloadStoreError>), PayloadCleanupFailed { operation: Box<DbError>, cleanup: Box<DbError>, }, ChangeCaptureFailed { operation: Box<DbError>, capture: Box<DbError>, }, FromSql(FromSqlError), BlobOpeningAuthority(BlobOpeningAuthorityError), OwnerPromotionJournal(Box<OwnerPromotionJournalError>), CircleJournal(Box<CircleJournalError>), SyncRoutingContract(SyncRoutingContractError), RowIdentity(RowIdentityError), PreparedCommit(Box<PreparedCommitError>), CircleState(Box<CircleStateError>), DeviceExclusionJournal(Box<StoreDeviceExclusionJournalError>), StoreReclaimJournal(Box<StoreReclaimJournalError>), CommitNewFile(CommitNewFileError), AudienceBlobStaging(Box<dyn Error + Sync + Send>), AudienceBlobRollbackFailed { operation: Box<DbError>, rollback: StagedBlobRollbackFailures, }, StagedBlobRollback(StagedBlobRollbackFailures), BlobMoveRequiresMaterialization { table: String, row_id: String, column: String, row_stamp: String, reason: Box<DbError>, }, UnparseableOutboxAttemptTime { entry_id: i64, value: String, source: ParseError, }, Context { context: String, source: Box<DbError>, }, StoreRootHashMissing, ExcludedDeviceMustReset { circle_id: CircleId, close_id: CircleEpochCloseId, },
}
Expand description

An error from the owned database.

Variants§

§

Message(String)

§

WriteDependencyConflict

Fields

§writes: Vec<WriteId>
§

ReplayRetirementCutNotPrefix

§

ReadOnlyWriteTransaction

§

Sqlite(Error)

§

ExpectedSchema(&'static Error)

§

Serde(Error)

A JSON column’s bytes did not read back as the value they encode, or a value would not encode. Every synced-protocol column is stored as JSON, so this is the shape of every column-level decode failure.

§

Protocol(Box<StoreProtocolError>)

Durable bytes failed the Store protocol’s own validation — a hash that does not match, a signature that does not verify, an object in the wrong slot. The database read them back intact; the protocol refused them.

§

RemoteObject(Box<RemoteObjectRecordError>)

§

AudiencePackage(Box<AudiencePackageError>)

§

ObjectHash(InvalidObjectHash)

§

BlobLocator(BlobLocatorError)

§

CircleId(CircleIdError)

§

RowRoutingKey(RowRoutingKeyError)

§

CirclePartitionControl(CirclePartitionControlError)

§

Gate(GateError)

§

Storage(StorageError)

§

BlobPath(PathTokenError)

§

Io(Error)

§

File(FileError)

§

LocalBlobRemoval(LocalBlobRemovalError)

§

CachedLocatorRemoval(CachedLocatorRemovalError)

§

IntRange(TryFromIntError)

A stored integer column did not fit the type the schema says it holds.

§

ParseInt(ParseIntError)

§

Utf8(FromUtf8Error)

§

Utf8Slice(Utf8Error)

§

BlobDecl(BlobDeclError)

§

ChangesetIdentity(ChangesetIdentityError)

§

Changeset(ChangesetError)

§

AuthorStreamId(AuthorStreamIdParseError)

§

RowBlobRef(RowBlobRefError)

§

WriteRetraction(Box<WriteRetractionError>)

§

RotationGate(RotationGateError)

§

Encryption(EncryptionError)

§

SnapshotImage(Box<SnapshotImageError>)

§

PayloadStore(Box<PayloadStoreError>)

§

PayloadCleanupFailed

Fields

§operation: Box<DbError>
§cleanup: Box<DbError>
§

ChangeCaptureFailed

Fields

§operation: Box<DbError>
§capture: Box<DbError>
§

FromSql(FromSqlError)

§

BlobOpeningAuthority(BlobOpeningAuthorityError)

§

OwnerPromotionJournal(Box<OwnerPromotionJournalError>)

§

CircleJournal(Box<CircleJournalError>)

§

SyncRoutingContract(SyncRoutingContractError)

§

RowIdentity(RowIdentityError)

§

PreparedCommit(Box<PreparedCommitError>)

§

CircleState(Box<CircleStateError>)

§

DeviceExclusionJournal(Box<StoreDeviceExclusionJournalError>)

§

StoreReclaimJournal(Box<StoreReclaimJournalError>)

§

CommitNewFile(CommitNewFileError)

§

AudienceBlobStaging(Box<dyn Error + Sync + Send>)

Staging a write’s audience-move blobs failed. The implementation of AudienceBlobMoveStaging is injected from above, so its failure is carried as an opaque source rather than named here.

§

AudienceBlobRollbackFailed

Staging a write’s audience-move blobs failed AND rolling the staged files back failed, so those files are left on disk. Carries both failures rather than reporting one and describing the other.

Fields

§operation: Box<DbError>
§

StagedBlobRollback(StagedBlobRollbackFailures)

§

BlobMoveRequiresMaterialization

An audience move needs its blob materialized locally and it is not — the row’s bytes are absent, stale, or refuse their declared identity. Names the row so the caller can act on it.

Fields

§table: String
§row_id: String
§column: String
§row_stamp: String
§reason: Box<DbError>
§

UnparseableOutboxAttemptTime

A queued outbox entry’s last_attempt_at is not an RFC 3339 timestamp, so whether the entry is still inside its retry backoff cannot be decided. Names the entry so the caller can act on that row.

Fields

§entry_id: i64
§value: String
§source: ParseError
§

Context

A DbError with the operation that produced it named in front of it. Carries the cause as a DbError so callers keep matching on it after it crosses the layer that added the description.

Fields

§context: String
§source: Box<DbError>
§

StoreRootHashMissing

§

ExcludedDeviceMustReset

The local device was excluded from a Circle epoch close and has not yet reset its projection from the successor bootstrap, so it cannot publish into the Circle. Stays matchable at the publication boundary rather than flattening into a message.

Fields

§circle_id: CircleId

Implementations§

Source§

impl DbError

Source

pub fn context( context: impl Into<String>, source: impl Into<DbError>, ) -> DbError

Name the operation source failed in without flattening it: the cause stays a DbError the caller can still match on.

Trait Implementations§

Source§

impl Debug for DbError

Source§

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

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

impl Display for DbError

Source§

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

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

impl Error for DbError

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<AudiencePackageError> for DbError

Source§

fn from(source: AudiencePackageError) -> DbError

Converts to this type from the input type.
Source§

impl From<AuthorStreamIdParseError> for DbError

Source§

fn from(source: AuthorStreamIdParseError) -> DbError

Converts to this type from the input type.
Source§

impl From<BlobDeclError> for DbError

Source§

fn from(source: BlobDeclError) -> DbError

Converts to this type from the input type.
Source§

impl From<BlobLocatorError> for DbError

Source§

fn from(source: BlobLocatorError) -> DbError

Converts to this type from the input type.
Source§

impl From<BlobOpeningAuthorityError> for DbError

Source§

fn from(source: BlobOpeningAuthorityError) -> DbError

Converts to this type from the input type.
Source§

impl From<CachedLocatorRemovalError> for DbError

Source§

fn from(source: CachedLocatorRemovalError) -> DbError

Converts to this type from the input type.
Source§

impl From<ChangesetError> for DbError

Source§

fn from(source: ChangesetError) -> DbError

Converts to this type from the input type.
Source§

impl From<ChangesetIdentityError> for DbError

Source§

fn from(source: ChangesetIdentityError) -> DbError

Converts to this type from the input type.
Source§

impl From<CircleIdError> for DbError

Source§

fn from(source: CircleIdError) -> DbError

Converts to this type from the input type.
Source§

impl From<CircleJournalError> for DbError

Source§

fn from(source: CircleJournalError) -> DbError

Converts to this type from the input type.
Source§

impl From<CirclePartitionControlError> for DbError

Source§

fn from(source: CirclePartitionControlError) -> DbError

Converts to this type from the input type.
Source§

impl From<CircleStateError> for DbError

Source§

fn from(source: CircleStateError) -> DbError

Converts to this type from the input type.
Source§

impl From<CommitNewFileError> for DbError

Source§

fn from(source: CommitNewFileError) -> DbError

Converts to this type from the input type.
Source§

impl From<DbError> for BlobCacheError

Source§

fn from(error: DbError) -> BlobCacheError

Converts to this type from the input type.
Source§

impl From<DbError> for CircleError

Source§

fn from(source: DbError) -> Self

Converts to this type from the input type.
Source§

impl From<DbError> for CovenError

Source§

fn from(error: DbError) -> Self

Converts to this type from the input type.
Source§

impl From<DbError> for CovenMigrationError

Source§

fn from(source: DbError) -> CovenMigrationError

Converts to this type from the input type.
Source§

impl From<DbError> for DeviceJoinError

Source§

fn from(source: DbError) -> DeviceJoinError

Converts to this type from the input type.
Source§

impl From<DbError> for EagerCacheFillError

Source§

fn from(source: DbError) -> EagerCacheFillError

Converts to this type from the input type.
Source§

impl From<DbError> for MakeLocalError

Source§

fn from(source: DbError) -> MakeLocalError

Converts to this type from the input type.
Source§

impl From<DbError> for MakeRemoteError

Source§

fn from(source: DbError) -> MakeRemoteError

Converts to this type from the input type.
Source§

impl From<DbError> for SyncError

Source§

fn from(error: DbError) -> SyncError

Converts to this type from the input type.
Source§

impl From<DbError> for UploadFailureCause

Source§

fn from(source: DbError) -> UploadFailureCause

Converts to this type from the input type.
Source§

impl From<EncryptionError> for DbError

Source§

fn from(source: EncryptionError) -> DbError

Converts to this type from the input type.
Source§

impl From<Error> for DbError

Source§

fn from(source: Error) -> DbError

Converts to this type from the input type.
Source§

impl From<Error> for DbError

Source§

fn from(source: Error) -> DbError

Converts to this type from the input type.
Source§

impl From<Error> for DbError

Source§

fn from(source: Error) -> DbError

Converts to this type from the input type.
Source§

impl From<FileError> for DbError

Source§

fn from(source: FileError) -> DbError

Converts to this type from the input type.
Source§

impl From<FromSqlError> for DbError

Source§

fn from(source: FromSqlError) -> DbError

Converts to this type from the input type.
Source§

impl From<FromUtf8Error> for DbError

Source§

fn from(source: FromUtf8Error) -> DbError

Converts to this type from the input type.
Source§

impl From<GateError> for DbError

Source§

fn from(source: GateError) -> DbError

Converts to this type from the input type.
Source§

impl From<InvalidObjectHash> for DbError

Source§

fn from(source: InvalidObjectHash) -> DbError

Converts to this type from the input type.
Source§

impl From<LocalBlobRemovalError> for DbError

Source§

fn from(source: LocalBlobRemovalError) -> DbError

Converts to this type from the input type.
Source§

impl From<OwnerPromotionJournalError> for DbError

Source§

fn from(source: OwnerPromotionJournalError) -> DbError

Converts to this type from the input type.
Source§

impl From<ParseIntError> for DbError

Source§

fn from(source: ParseIntError) -> DbError

Converts to this type from the input type.
Source§

impl From<PathTokenError> for DbError

Source§

fn from(source: PathTokenError) -> DbError

Converts to this type from the input type.
Source§

impl From<PayloadStoreError> for DbError

Source§

fn from(source: PayloadStoreError) -> DbError

Converts to this type from the input type.
Source§

impl From<PreparedCommitError> for DbError

Source§

fn from(source: PreparedCommitError) -> DbError

Converts to this type from the input type.
Source§

impl From<RemoteObjectRecordError> for DbError

Source§

fn from(source: RemoteObjectRecordError) -> DbError

Converts to this type from the input type.
Source§

impl From<RotationGateError> for DbError

Source§

fn from(source: RotationGateError) -> DbError

Converts to this type from the input type.
Source§

impl From<RowBlobRefError> for DbError

Source§

fn from(source: RowBlobRefError) -> DbError

Converts to this type from the input type.
Source§

impl From<RowIdentityError> for DbError

Source§

fn from(source: RowIdentityError) -> DbError

Converts to this type from the input type.
Source§

impl From<RowRoutingKeyError> for DbError

Source§

fn from(source: RowRoutingKeyError) -> DbError

Converts to this type from the input type.
Source§

impl From<SnapshotImageError> for DbError

Source§

fn from(source: SnapshotImageError) -> DbError

Converts to this type from the input type.
Source§

impl From<StorageError> for DbError

Source§

fn from(source: StorageError) -> DbError

Converts to this type from the input type.
Source§

impl From<StoreDeviceExclusionJournalError> for DbError

Source§

fn from(source: StoreDeviceExclusionJournalError) -> DbError

Converts to this type from the input type.
Source§

impl From<StoreProtocolError> for DbError

Source§

fn from(source: StoreProtocolError) -> DbError

Converts to this type from the input type.
Source§

impl From<StoreReclaimJournalError> for DbError

Source§

fn from(source: StoreReclaimJournalError) -> DbError

Converts to this type from the input type.
Source§

impl From<SyncRoutingContractError> for DbError

Source§

fn from(source: SyncRoutingContractError) -> DbError

Converts to this type from the input type.
Source§

impl From<TryFromIntError> for DbError

Source§

fn from(source: TryFromIntError) -> DbError

Converts to this type from the input type.
Source§

impl From<Utf8Error> for DbError

Source§

fn from(source: Utf8Error) -> DbError

Converts to this type from the input type.
Source§

impl From<WriteRetractionError> for DbError

Source§

fn from(source: WriteRetractionError) -> DbError

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

§

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

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
§

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

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

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
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,