#[non_exhaustive]pub enum MutationProgramError {
Show 20 variants
EmptyName(&'static str),
ZeroVersion(&'static str),
InvalidProgramId,
PathTooDeep {
segments: usize,
max: usize,
},
ExpressionTooDeep {
depth: usize,
max: usize,
},
TooManyOperations {
count: usize,
max: usize,
},
ValueTooLarge {
kind: &'static str,
len: usize,
max: usize,
},
DuplicateOrdinal {
kind: &'static str,
ordinal: u32,
},
NonContiguousOrdinal {
kind: &'static str,
expected: u32,
actual: u32,
},
DuplicateName {
kind: &'static str,
name: String,
},
RequiredValueAbsent {
path: String,
},
UnsetNotAllowed {
field: String,
},
InvalidKeyValue {
field: String,
},
InvalidOperation {
operation: String,
reason: String,
},
AmbiguousMutation {
model: String,
reason: String,
},
InvalidReturning {
reason: String,
},
InvalidConflictTarget {
reason: String,
},
CanonicalJson(String),
MissingInput {
path: String,
},
Adapter(String),
}Expand description
A typed validation, binding, or interpretation failure for a mutation program.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
EmptyName(&'static str)
A stable name, identifier, field, or storage name was empty.
ZeroVersion(&'static str)
A declared version must be non-zero.
InvalidProgramId
A mutation program ID was not in canonical form.
PathTooDeep
An input path exceeded the portable segment limit.
ExpressionTooDeep
A portable expression or constant exceeded the nesting limit.
TooManyOperations
A program declared too many operations.
ValueTooLarge
A key, partition, or other bounded canonical value was too large.
Fields
DuplicateOrdinal
Two declarations used the same explicit ordinal.
NonContiguousOrdinal
Ordinals did not form a contiguous zero-based sequence.
Fields
DuplicateName
Two declarations used the same stable name.
RequiredValueAbsent
A required expression evaluated as absent.
UnsetNotAllowed
unset appeared where the operation cannot represent it.
InvalidKeyValue
A key component was null, absent, unset, or structurally invalid.
InvalidOperation
An operation shape was incompatible with its semantic kind.
AmbiguousMutation
Two operations could not deterministically become one final mutation.
InvalidReturning
Returning selection was empty or ambiguous.
InvalidConflictTarget
Conflict target was incomplete or unknown.
CanonicalJson(String)
Canonical JSON encoding failed.
MissingInput
A bound input path was missing from the supplied input object.
Adapter(String)
A binding or interpreter failed while adapting to projection IR.
Trait Implementations§
Source§impl Clone for MutationProgramError
impl Clone for MutationProgramError
Source§fn clone(&self) -> MutationProgramError
fn clone(&self) -> MutationProgramError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MutationProgramError
impl Debug for MutationProgramError
Source§impl Display for MutationProgramError
impl Display for MutationProgramError
impl Eq for MutationProgramError
Source§impl Error for MutationProgramError
impl Error for MutationProgramError
1.30.0 · 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()
Source§impl From<ProjectionProgramError> for MutationProgramError
impl From<ProjectionProgramError> for MutationProgramError
Source§fn from(error: ProjectionProgramError) -> Self
fn from(error: ProjectionProgramError) -> Self
Source§impl PartialEq for MutationProgramError
impl PartialEq for MutationProgramError
impl StructuralPartialEq for MutationProgramError
Auto Trait Implementations§
impl Freeze for MutationProgramError
impl RefUnwindSafe for MutationProgramError
impl Send for MutationProgramError
impl Sync for MutationProgramError
impl Unpin for MutationProgramError
impl UnsafeUnpin for MutationProgramError
impl UnwindSafe for MutationProgramError
Blanket Implementations§
Source§impl<T> AggregateBuilder for T
impl<T> AggregateBuilder for T
fn aggregate<A: Aggregate>(self) -> AggregateRepository<Self, A>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Queueable for T
impl<T> Queueable for T
Source§fn queued(self) -> QueuedRepository<Self, InMemoryLockManager>
fn queued(self) -> QueuedRepository<Self, InMemoryLockManager>
.aggregate::<T>() for per-aggregate serialization over the async
repository surface.