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
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
ChangeCaptureFailed
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.
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.
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.
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.
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.
Implementations§
Trait Implementations§
Source§impl Error for DbError
impl Error for DbError
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
Source§impl From<AudiencePackageError> for DbError
impl From<AudiencePackageError> for DbError
Source§fn from(source: AudiencePackageError) -> DbError
fn from(source: AudiencePackageError) -> DbError
Source§impl From<AuthorStreamIdParseError> for DbError
impl From<AuthorStreamIdParseError> for DbError
Source§fn from(source: AuthorStreamIdParseError) -> DbError
fn from(source: AuthorStreamIdParseError) -> DbError
Source§impl From<BlobDeclError> for DbError
impl From<BlobDeclError> for DbError
Source§fn from(source: BlobDeclError) -> DbError
fn from(source: BlobDeclError) -> DbError
Source§impl From<BlobLocatorError> for DbError
impl From<BlobLocatorError> for DbError
Source§fn from(source: BlobLocatorError) -> DbError
fn from(source: BlobLocatorError) -> DbError
Source§impl From<BlobOpeningAuthorityError> for DbError
impl From<BlobOpeningAuthorityError> for DbError
Source§fn from(source: BlobOpeningAuthorityError) -> DbError
fn from(source: BlobOpeningAuthorityError) -> DbError
Source§impl From<CachedLocatorRemovalError> for DbError
impl From<CachedLocatorRemovalError> for DbError
Source§fn from(source: CachedLocatorRemovalError) -> DbError
fn from(source: CachedLocatorRemovalError) -> DbError
Source§impl From<ChangesetError> for DbError
impl From<ChangesetError> for DbError
Source§fn from(source: ChangesetError) -> DbError
fn from(source: ChangesetError) -> DbError
Source§impl From<ChangesetIdentityError> for DbError
impl From<ChangesetIdentityError> for DbError
Source§fn from(source: ChangesetIdentityError) -> DbError
fn from(source: ChangesetIdentityError) -> DbError
Source§impl From<CircleIdError> for DbError
impl From<CircleIdError> for DbError
Source§fn from(source: CircleIdError) -> DbError
fn from(source: CircleIdError) -> DbError
Source§impl From<CircleJournalError> for DbError
impl From<CircleJournalError> for DbError
Source§fn from(source: CircleJournalError) -> DbError
fn from(source: CircleJournalError) -> DbError
Source§impl From<CirclePartitionControlError> for DbError
impl From<CirclePartitionControlError> for DbError
Source§fn from(source: CirclePartitionControlError) -> DbError
fn from(source: CirclePartitionControlError) -> DbError
Source§impl From<CircleStateError> for DbError
impl From<CircleStateError> for DbError
Source§fn from(source: CircleStateError) -> DbError
fn from(source: CircleStateError) -> DbError
Source§impl From<CommitNewFileError> for DbError
impl From<CommitNewFileError> for DbError
Source§fn from(source: CommitNewFileError) -> DbError
fn from(source: CommitNewFileError) -> DbError
Source§impl From<DbError> for BlobCacheError
impl From<DbError> for BlobCacheError
Source§fn from(error: DbError) -> BlobCacheError
fn from(error: DbError) -> BlobCacheError
Source§impl From<DbError> for CircleError
impl From<DbError> for CircleError
Source§impl From<DbError> for CovenError
impl From<DbError> for CovenError
Source§impl From<DbError> for CovenMigrationError
impl From<DbError> for CovenMigrationError
Source§fn from(source: DbError) -> CovenMigrationError
fn from(source: DbError) -> CovenMigrationError
Source§impl From<DbError> for DeviceJoinError
impl From<DbError> for DeviceJoinError
Source§fn from(source: DbError) -> DeviceJoinError
fn from(source: DbError) -> DeviceJoinError
Source§impl From<DbError> for EagerCacheFillError
impl From<DbError> for EagerCacheFillError
Source§fn from(source: DbError) -> EagerCacheFillError
fn from(source: DbError) -> EagerCacheFillError
Source§impl From<DbError> for MakeLocalError
impl From<DbError> for MakeLocalError
Source§fn from(source: DbError) -> MakeLocalError
fn from(source: DbError) -> MakeLocalError
Source§impl From<DbError> for MakeRemoteError
impl From<DbError> for MakeRemoteError
Source§fn from(source: DbError) -> MakeRemoteError
fn from(source: DbError) -> MakeRemoteError
Source§impl From<DbError> for UploadFailureCause
impl From<DbError> for UploadFailureCause
Source§fn from(source: DbError) -> UploadFailureCause
fn from(source: DbError) -> UploadFailureCause
Source§impl From<EncryptionError> for DbError
impl From<EncryptionError> for DbError
Source§fn from(source: EncryptionError) -> DbError
fn from(source: EncryptionError) -> DbError
Source§impl From<FromUtf8Error> for DbError
impl From<FromUtf8Error> for DbError
Source§fn from(source: FromUtf8Error) -> DbError
fn from(source: FromUtf8Error) -> DbError
Source§impl From<InvalidObjectHash> for DbError
impl From<InvalidObjectHash> for DbError
Source§fn from(source: InvalidObjectHash) -> DbError
fn from(source: InvalidObjectHash) -> DbError
Source§impl From<LocalBlobRemovalError> for DbError
impl From<LocalBlobRemovalError> for DbError
Source§fn from(source: LocalBlobRemovalError) -> DbError
fn from(source: LocalBlobRemovalError) -> DbError
Source§impl From<OwnerPromotionJournalError> for DbError
impl From<OwnerPromotionJournalError> for DbError
Source§fn from(source: OwnerPromotionJournalError) -> DbError
fn from(source: OwnerPromotionJournalError) -> DbError
Source§impl From<ParseIntError> for DbError
impl From<ParseIntError> for DbError
Source§fn from(source: ParseIntError) -> DbError
fn from(source: ParseIntError) -> DbError
Source§impl From<PathTokenError> for DbError
impl From<PathTokenError> for DbError
Source§fn from(source: PathTokenError) -> DbError
fn from(source: PathTokenError) -> DbError
Source§impl From<PayloadStoreError> for DbError
impl From<PayloadStoreError> for DbError
Source§fn from(source: PayloadStoreError) -> DbError
fn from(source: PayloadStoreError) -> DbError
Source§impl From<PreparedCommitError> for DbError
impl From<PreparedCommitError> for DbError
Source§fn from(source: PreparedCommitError) -> DbError
fn from(source: PreparedCommitError) -> DbError
Source§impl From<RemoteObjectRecordError> for DbError
impl From<RemoteObjectRecordError> for DbError
Source§fn from(source: RemoteObjectRecordError) -> DbError
fn from(source: RemoteObjectRecordError) -> DbError
Source§impl From<RotationGateError> for DbError
impl From<RotationGateError> for DbError
Source§fn from(source: RotationGateError) -> DbError
fn from(source: RotationGateError) -> DbError
Source§impl From<RowBlobRefError> for DbError
impl From<RowBlobRefError> for DbError
Source§fn from(source: RowBlobRefError) -> DbError
fn from(source: RowBlobRefError) -> DbError
Source§impl From<RowIdentityError> for DbError
impl From<RowIdentityError> for DbError
Source§fn from(source: RowIdentityError) -> DbError
fn from(source: RowIdentityError) -> DbError
Source§impl From<RowRoutingKeyError> for DbError
impl From<RowRoutingKeyError> for DbError
Source§fn from(source: RowRoutingKeyError) -> DbError
fn from(source: RowRoutingKeyError) -> DbError
Source§impl From<SnapshotImageError> for DbError
impl From<SnapshotImageError> for DbError
Source§fn from(source: SnapshotImageError) -> DbError
fn from(source: SnapshotImageError) -> DbError
Source§impl From<StorageError> for DbError
impl From<StorageError> for DbError
Source§fn from(source: StorageError) -> DbError
fn from(source: StorageError) -> DbError
Source§impl From<StoreDeviceExclusionJournalError> for DbError
impl From<StoreDeviceExclusionJournalError> for DbError
Source§fn from(source: StoreDeviceExclusionJournalError) -> DbError
fn from(source: StoreDeviceExclusionJournalError) -> DbError
Source§impl From<StoreProtocolError> for DbError
impl From<StoreProtocolError> for DbError
Source§fn from(source: StoreProtocolError) -> DbError
fn from(source: StoreProtocolError) -> DbError
Source§impl From<StoreReclaimJournalError> for DbError
impl From<StoreReclaimJournalError> for DbError
Source§fn from(source: StoreReclaimJournalError) -> DbError
fn from(source: StoreReclaimJournalError) -> DbError
Source§impl From<SyncRoutingContractError> for DbError
impl From<SyncRoutingContractError> for DbError
Source§fn from(source: SyncRoutingContractError) -> DbError
fn from(source: SyncRoutingContractError) -> DbError
Source§impl From<TryFromIntError> for DbError
impl From<TryFromIntError> for DbError
Source§fn from(source: TryFromIntError) -> DbError
fn from(source: TryFromIntError) -> DbError
Source§impl From<WriteRetractionError> for DbError
impl From<WriteRetractionError> for DbError
Source§fn from(source: WriteRetractionError) -> DbError
fn from(source: WriteRetractionError) -> DbError
Auto Trait Implementations§
impl Freeze for DbError
impl !RefUnwindSafe for DbError
impl Send for DbError
impl Sync for DbError
impl Unpin for DbError
impl UnsafeUnpin for DbError
impl !UnwindSafe for DbError
Blanket Implementations§
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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more