pub enum XaError {
NotFound,
Invalid,
Protocol(String),
RmFail(String),
DuplicateXid,
Outside,
HeuristicCommit,
HeuristicRollback,
CrashDurabilityNotSupported,
Xid(XidError),
Db(NoxuError),
}Expand description
XA errors returned from XaResource operations.
Variants§
NotFound
The XID is not valid or cannot be found.
Invalid
Invalid arguments passed.
Protocol(String)
Protocol error (operation called in wrong state).
RmFail(String)
Resource manager failure.
DuplicateXid
Duplicate XID.
Outside
Work performed outside global transaction.
HeuristicCommit
Heuristic commit (TM should forget).
HeuristicRollback
Heuristic rollback (TM should forget).
CrashDurabilityNotSupported
crash-durable XA is now supported (wave 3-2); this variant is no longer returned
This variant is retained for SemVer
compatibility but is no longer returned by the engine. Crash-
durable XA is now supported — a TxnPrepare WAL frame is
written by xa_prepare, recovery surfaces in-doubt XIDs via
xa_recover(), and xa_commit / xa_rollback resolve them
against the recovered prepared list maintained on the
EnvironmentImpl.
New code should not match on this variant. It will be removed in v3.0.
Use XaError::NotFound for genuinely unknown XIDs and
XaError::Protocol for state-machine violations.
Xid(XidError)
Xid construction error.
Db(NoxuError)
Underlying database error.
Trait Implementations§
Source§impl Error for XaError
impl Error for XaError
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()