pub enum ApplicationErrorCode {
Show 27 variants
InvalidRequest,
InputInvalid,
AuthorizationDenied,
ContractMismatch,
QueryInvalid,
QueryUnavailable,
ModuleUnavailable,
CursorInvalid,
ResponseTooLarge,
StorageUnavailable,
OutcomeUnknown,
OperationCancelled,
DeadlineExceeded,
InternalDefect,
IdempotencyKeyReuse,
CommandExecutionFailed,
CapabilityRevoked,
ProtocolInvalid,
HistoryIncarnationMismatch,
HistoryPruned,
Overloaded,
ProjectionDiverged,
SnapshotRetired,
FreshnessUnsatisfied,
ProjectedSourceRequired,
FollowerMode,
PrimaryFenced,
}Expand description
Closed stable code registry for application-semantic failures.
Variants§
InvalidRequest
Public message bytes failed structural validation.
InputInvalid
A typed application input failed validation.
AuthorizationDenied
Current policy denied the operation.
ContractMismatch
Contract identity is absent, stale, or does not match.
QueryInvalid
RiffQL could not be parsed, resolved, typed, or planned.
A checked query cannot currently be loaded or executed.
The requested named-query module is absent or stale.
CursorInvalid
A continuation cursor is invalid or stale.
ResponseTooLarge
One complete authorized result exceeds a public bound.
Authoritative storage is temporarily unavailable.
OutcomeUnknown
A durable mutation may have completed.
OperationCancelled
The request was cancelled at a safe point.
DeadlineExceeded
The request deadline elapsed.
InternalDefect
A redacted internal defect occurred.
IdempotencyKeyReuse
An idempotency identity was reused with different input.
CommandExecutionFailed
Deterministic command execution failed.
CapabilityRevoked
A formerly valid capability is revoked.
ProtocolInvalid
A public peer violated the application protocol.
HistoryIncarnationMismatch
Observed history predates a database restore.
HistoryPruned
Requested history was retired by retention prune.
Overloaded
The service is over capacity and rejected admission.
ProjectionDiverged
Exact result-set providers cannot prove one common epoch.
SnapshotRetired
The exact snapshot bound to the request is no longer retained.
FreshnessUnsatisfied
No servable exact snapshot satisfies the requested freshness floor.
ProjectedSourceRequired
A retained nearest plan predates the required compiler-owned source declaration.
FollowerMode
This node is a follower and cannot execute a write operation.
PrimaryFenced
Durable source fencing permanently refuses new command admission.
Implementations§
Source§impl ApplicationErrorCode
impl ApplicationErrorCode
Sourcepub const fn from_public_kind(kind: PublicErrorKind) -> Self
pub const fn from_public_kind(kind: PublicErrorKind) -> Self
Maps the compatible kernel classification into the application registry.
Sourcepub const fn as_str(self) -> &'static str
pub const fn as_str(self) -> &'static str
Returns the stable externally documented code.
Examples found in repository?
7fn main() -> io::Result<()> {
8 let mut output = io::BufWriter::new(io::stdout().lock());
9 writeln!(output, "code\tcategory\trecovery_action\tfixes\tmessage")?;
10 for code in riffdb_errors::APPLICATION_ERROR_CODES {
11 let fixes = code
12 .fixes()
13 .iter()
14 .map(|fix| fix.as_str())
15 .collect::<Vec<_>>()
16 .join(",");
17 writeln!(
18 output,
19 "{}\t{}\t{}\t{}\t{}",
20 code.as_str(),
21 code.category().as_str(),
22 code.recovery_action().as_str(),
23 fixes,
24 code.safe_message()
25 )?;
26 }
27 output.flush()
28}Sourcepub const fn safe_message(self) -> &'static str
pub const fn safe_message(self) -> &'static str
Returns the one registry-owned public message for this code.
Examples found in repository?
7fn main() -> io::Result<()> {
8 let mut output = io::BufWriter::new(io::stdout().lock());
9 writeln!(output, "code\tcategory\trecovery_action\tfixes\tmessage")?;
10 for code in riffdb_errors::APPLICATION_ERROR_CODES {
11 let fixes = code
12 .fixes()
13 .iter()
14 .map(|fix| fix.as_str())
15 .collect::<Vec<_>>()
16 .join(",");
17 writeln!(
18 output,
19 "{}\t{}\t{}\t{}\t{}",
20 code.as_str(),
21 code.category().as_str(),
22 code.recovery_action().as_str(),
23 fixes,
24 code.safe_message()
25 )?;
26 }
27 output.flush()
28}Sourcepub const fn category(self) -> ApplicationErrorCategory
pub const fn category(self) -> ApplicationErrorCategory
Returns the closed category.
Examples found in repository?
7fn main() -> io::Result<()> {
8 let mut output = io::BufWriter::new(io::stdout().lock());
9 writeln!(output, "code\tcategory\trecovery_action\tfixes\tmessage")?;
10 for code in riffdb_errors::APPLICATION_ERROR_CODES {
11 let fixes = code
12 .fixes()
13 .iter()
14 .map(|fix| fix.as_str())
15 .collect::<Vec<_>>()
16 .join(",");
17 writeln!(
18 output,
19 "{}\t{}\t{}\t{}\t{}",
20 code.as_str(),
21 code.category().as_str(),
22 code.recovery_action().as_str(),
23 fixes,
24 code.safe_message()
25 )?;
26 }
27 output.flush()
28}Sourcepub const fn recovery_action(self) -> ApplicationRecoveryAction
pub const fn recovery_action(self) -> ApplicationRecoveryAction
Returns deterministic recovery guidance.
Examples found in repository?
7fn main() -> io::Result<()> {
8 let mut output = io::BufWriter::new(io::stdout().lock());
9 writeln!(output, "code\tcategory\trecovery_action\tfixes\tmessage")?;
10 for code in riffdb_errors::APPLICATION_ERROR_CODES {
11 let fixes = code
12 .fixes()
13 .iter()
14 .map(|fix| fix.as_str())
15 .collect::<Vec<_>>()
16 .join(",");
17 writeln!(
18 output,
19 "{}\t{}\t{}\t{}\t{}",
20 code.as_str(),
21 code.category().as_str(),
22 code.recovery_action().as_str(),
23 fixes,
24 code.safe_message()
25 )?;
26 }
27 output.flush()
28}Sourcepub const fn fixes(self) -> &'static [ApplicationFixCode]
pub const fn fixes(self) -> &'static [ApplicationFixCode]
Returns the exact deterministic remediation set.
Examples found in repository?
7fn main() -> io::Result<()> {
8 let mut output = io::BufWriter::new(io::stdout().lock());
9 writeln!(output, "code\tcategory\trecovery_action\tfixes\tmessage")?;
10 for code in riffdb_errors::APPLICATION_ERROR_CODES {
11 let fixes = code
12 .fixes()
13 .iter()
14 .map(|fix| fix.as_str())
15 .collect::<Vec<_>>()
16 .join(",");
17 writeln!(
18 output,
19 "{}\t{}\t{}\t{}\t{}",
20 code.as_str(),
21 code.category().as_str(),
22 code.recovery_action().as_str(),
23 fixes,
24 code.safe_message()
25 )?;
26 }
27 output.flush()
28}