pub enum StateUpdateKind {
Show 22 variants
AuditLog(AuditLogKey, ()),
Cluster(ClusterKey, ClusterValue),
ClusterReplica(ClusterReplicaKey, ClusterReplicaValue),
Comment(CommentKey, CommentValue),
Config(ConfigKey, ConfigValue),
Database(DatabaseKey, DatabaseValue),
DefaultPrivilege(DefaultPrivilegesKey, DefaultPrivilegesValue),
FenceToken(FenceToken),
IdAllocator(IdAllocKey, IdAllocValue),
IntrospectionSourceIndex(ClusterIntrospectionSourceIndexKey, ClusterIntrospectionSourceIndexValue),
Item(ItemKey, ItemValue),
NetworkPolicy(NetworkPolicyKey, NetworkPolicyValue),
Role(RoleKey, RoleValue),
Schema(SchemaKey, SchemaValue),
Setting(SettingKey, SettingValue),
SourceReferences(SourceReferencesKey, SourceReferencesValue),
SystemConfiguration(ServerConfigurationKey, ServerConfigurationValue),
SystemObjectMapping(GidMappingKey, GidMappingValue),
SystemPrivilege(SystemPrivilegesKey, SystemPrivilegesValue),
StorageCollectionMetadata(StorageCollectionMetadataKey, StorageCollectionMetadataValue),
UnfinalizedShard(UnfinalizedShardKey, ()),
TxnWalShard((), TxnWalShardValue),
}
Expand description
The contents of a single state update.
The entire catalog is serialized as bytes and saved in a single persist shard. We use this enum to determine what collection something in the catalog belongs to.
Variants§
AuditLog(AuditLogKey, ())
Cluster(ClusterKey, ClusterValue)
ClusterReplica(ClusterReplicaKey, ClusterReplicaValue)
Comment(CommentKey, CommentValue)
Config(ConfigKey, ConfigValue)
Database(DatabaseKey, DatabaseValue)
DefaultPrivilege(DefaultPrivilegesKey, DefaultPrivilegesValue)
FenceToken(FenceToken)
IdAllocator(IdAllocKey, IdAllocValue)
IntrospectionSourceIndex(ClusterIntrospectionSourceIndexKey, ClusterIntrospectionSourceIndexValue)
Item(ItemKey, ItemValue)
NetworkPolicy(NetworkPolicyKey, NetworkPolicyValue)
Role(RoleKey, RoleValue)
Schema(SchemaKey, SchemaValue)
Setting(SettingKey, SettingValue)
SourceReferences(SourceReferencesKey, SourceReferencesValue)
SystemConfiguration(ServerConfigurationKey, ServerConfigurationValue)
SystemObjectMapping(GidMappingKey, GidMappingValue)
SystemPrivilege(SystemPrivilegesKey, SystemPrivilegesValue)
StorageCollectionMetadata(StorageCollectionMetadataKey, StorageCollectionMetadataValue)
UnfinalizedShard(UnfinalizedShardKey, ())
TxnWalShard((), TxnWalShardValue)
Implementations§
Source§impl StateUpdateKind
impl StateUpdateKind
pub(crate) fn collection_type(&self) -> Option<CollectionType>
Trait Implementations§
Source§impl ApplyUpdate<StateUpdateKind> for CatalogStateInner
impl ApplyUpdate<StateUpdateKind> for CatalogStateInner
Source§fn apply_update(
&mut self,
update: StateUpdate<StateUpdateKind>,
current_fence_token: &mut FenceableToken,
metrics: &Arc<Metrics>,
) -> Result<Option<StateUpdate<StateUpdateKind>>, FenceError>
fn apply_update( &mut self, update: StateUpdate<StateUpdateKind>, current_fence_token: &mut FenceableToken, metrics: &Arc<Metrics>, ) -> Result<Option<StateUpdate<StateUpdateKind>>, FenceError>
Process and apply
update
. Read moreSource§impl Arbitrary for StateUpdateKind
impl Arbitrary for StateUpdateKind
Source§type Parameters = ((<AuditLogKey as Arbitrary>::Parameters, <() as Arbitrary>::Parameters), (<ClusterKey as Arbitrary>::Parameters, <ClusterValue as Arbitrary>::Parameters), (<ClusterReplicaKey as Arbitrary>::Parameters, <ClusterReplicaValue as Arbitrary>::Parameters), (<CommentKey as Arbitrary>::Parameters, <CommentValue as Arbitrary>::Parameters), (<ConfigKey as Arbitrary>::Parameters, <ConfigValue as Arbitrary>::Parameters), (<DatabaseKey as Arbitrary>::Parameters, <DatabaseValue as Arbitrary>::Parameters), (<DefaultPrivilegesKey as Arbitrary>::Parameters, <DefaultPrivilegesValue as Arbitrary>::Parameters), <FenceToken as Arbitrary>::Parameters, (<IdAllocKey as Arbitrary>::Parameters, <IdAllocValue as Arbitrary>::Parameters), ((<ClusterIntrospectionSourceIndexKey as Arbitrary>::Parameters, <ClusterIntrospectionSourceIndexValue as Arbitrary>::Parameters), (<ItemKey as Arbitrary>::Parameters, <ItemValue as Arbitrary>::Parameters), (<NetworkPolicyKey as Arbitrary>::Parameters, <NetworkPolicyValue as Arbitrary>::Parameters), (<RoleKey as Arbitrary>::Parameters, <RoleValue as Arbitrary>::Parameters), (<SchemaKey as Arbitrary>::Parameters, <SchemaValue as Arbitrary>::Parameters), (<SettingKey as Arbitrary>::Parameters, <SettingValue as Arbitrary>::Parameters), (<SourceReferencesKey as Arbitrary>::Parameters, <SourceReferencesValue as Arbitrary>::Parameters), (<ServerConfigurationKey as Arbitrary>::Parameters, <ServerConfigurationValue as Arbitrary>::Parameters), (<GidMappingKey as Arbitrary>::Parameters, <GidMappingValue as Arbitrary>::Parameters), ((<SystemPrivilegesKey as Arbitrary>::Parameters, <SystemPrivilegesValue as Arbitrary>::Parameters), (<StorageCollectionMetadataKey as Arbitrary>::Parameters, <StorageCollectionMetadataValue as Arbitrary>::Parameters), (<UnfinalizedShardKey as Arbitrary>::Parameters, <() as Arbitrary>::Parameters), (<() as Arbitrary>::Parameters, <TxnWalShardValue as Arbitrary>::Parameters))))
type Parameters = ((<AuditLogKey as Arbitrary>::Parameters, <() as Arbitrary>::Parameters), (<ClusterKey as Arbitrary>::Parameters, <ClusterValue as Arbitrary>::Parameters), (<ClusterReplicaKey as Arbitrary>::Parameters, <ClusterReplicaValue as Arbitrary>::Parameters), (<CommentKey as Arbitrary>::Parameters, <CommentValue as Arbitrary>::Parameters), (<ConfigKey as Arbitrary>::Parameters, <ConfigValue as Arbitrary>::Parameters), (<DatabaseKey as Arbitrary>::Parameters, <DatabaseValue as Arbitrary>::Parameters), (<DefaultPrivilegesKey as Arbitrary>::Parameters, <DefaultPrivilegesValue as Arbitrary>::Parameters), <FenceToken as Arbitrary>::Parameters, (<IdAllocKey as Arbitrary>::Parameters, <IdAllocValue as Arbitrary>::Parameters), ((<ClusterIntrospectionSourceIndexKey as Arbitrary>::Parameters, <ClusterIntrospectionSourceIndexValue as Arbitrary>::Parameters), (<ItemKey as Arbitrary>::Parameters, <ItemValue as Arbitrary>::Parameters), (<NetworkPolicyKey as Arbitrary>::Parameters, <NetworkPolicyValue as Arbitrary>::Parameters), (<RoleKey as Arbitrary>::Parameters, <RoleValue as Arbitrary>::Parameters), (<SchemaKey as Arbitrary>::Parameters, <SchemaValue as Arbitrary>::Parameters), (<SettingKey as Arbitrary>::Parameters, <SettingValue as Arbitrary>::Parameters), (<SourceReferencesKey as Arbitrary>::Parameters, <SourceReferencesValue as Arbitrary>::Parameters), (<ServerConfigurationKey as Arbitrary>::Parameters, <ServerConfigurationValue as Arbitrary>::Parameters), (<GidMappingKey as Arbitrary>::Parameters, <GidMappingValue as Arbitrary>::Parameters), ((<SystemPrivilegesKey as Arbitrary>::Parameters, <SystemPrivilegesValue as Arbitrary>::Parameters), (<StorageCollectionMetadataKey as Arbitrary>::Parameters, <StorageCollectionMetadataValue as Arbitrary>::Parameters), (<UnfinalizedShardKey as Arbitrary>::Parameters, <() as Arbitrary>::Parameters), (<() as Arbitrary>::Parameters, <TxnWalShardValue as Arbitrary>::Parameters))))
The type of parameters that
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.Source§type Strategy = Union<BoxedStrategy<StateUpdateKind>>
type Strategy = Union<BoxedStrategy<StateUpdateKind>>
The type of
Strategy
used to generate values of type Self
.Source§fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
Source§impl Clone for StateUpdateKind
impl Clone for StateUpdateKind
Source§fn clone(&self) -> StateUpdateKind
fn clone(&self) -> StateUpdateKind
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for StateUpdateKind
impl Debug for StateUpdateKind
Source§impl From<StateUpdateKind> for StateUpdateKindJson
impl From<StateUpdateKind> for StateUpdateKindJson
Source§fn from(value: StateUpdateKind) -> Self
fn from(value: StateUpdateKind) -> Self
Converts to this type from the input type.
Source§impl Ord for StateUpdateKind
impl Ord for StateUpdateKind
Source§fn cmp(&self, other: &StateUpdateKind) -> Ordering
fn cmp(&self, other: &StateUpdateKind) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for StateUpdateKind
impl PartialEq for StateUpdateKind
Source§impl PartialOrd for StateUpdateKind
impl PartialOrd for StateUpdateKind
Source§impl RustType<StateUpdateKind> for StateUpdateKind
impl RustType<StateUpdateKind> for StateUpdateKind
Source§fn into_proto(&self) -> StateUpdateKind
fn into_proto(&self) -> StateUpdateKind
Convert a
Self
into a Proto
value.Source§fn into_proto_owned(self) -> StateUpdateKind
fn into_proto_owned(self) -> StateUpdateKind
A zero clone version of
Self::into_proto
that types can
optionally implement, otherwise, the default implementation
delegates to Self::into_proto
.Source§fn from_proto(
proto: StateUpdateKind,
) -> Result<StateUpdateKind, TryFromProtoError>
fn from_proto( proto: StateUpdateKind, ) -> Result<StateUpdateKind, TryFromProtoError>
Source§impl TryFrom<&StateUpdateKind> for Option<StateUpdateKind>
impl TryFrom<&StateUpdateKind> for Option<StateUpdateKind>
Source§type Error = DurableCatalogError
type Error = DurableCatalogError
The type returned in the event of a conversion error.
Source§impl TryFrom<&StateUpdateKindJson> for StateUpdateKind
impl TryFrom<&StateUpdateKindJson> for StateUpdateKind
Source§impl TryFrom<StateUpdateKindJson> for StateUpdateKind
impl TryFrom<StateUpdateKindJson> for StateUpdateKind
impl Eq for StateUpdateKind
impl StructuralPartialEq for StateUpdateKind
Auto Trait Implementations§
impl Freeze for StateUpdateKind
impl RefUnwindSafe for StateUpdateKind
impl Send for StateUpdateKind
impl Sync for StateUpdateKind
impl Unpin for StateUpdateKind
impl UnwindSafe for StateUpdateKind
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self
to use its Binary
implementation when Debug
-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self
to use its Display
implementation when
Debug
-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self
to use its LowerExp
implementation when
Debug
-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self
to use its LowerHex
implementation when
Debug
-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self
to use its Octal
implementation when Debug
-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self
to use its Pointer
implementation when
Debug
-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self
to use its UpperExp
implementation when
Debug
-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self
to use its UpperHex
implementation when
Debug
-formatted.Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
Creates a shared type from an unshared type.
Source§impl<T> IntoStateUpdateKindJson for Twhere
T: Into<StateUpdateKindJson> + TryFrom<StateUpdateKindJson> + PartialEq + Eq + PartialOrd + Ord + Debug + Clone,
<T as TryFrom<StateUpdateKindJson>>::Error: Debug,
impl<T> IntoStateUpdateKindJson for Twhere
T: Into<StateUpdateKindJson> + TryFrom<StateUpdateKindJson> + PartialEq + Eq + PartialOrd + Ord + Debug + Clone,
<T as TryFrom<StateUpdateKindJson>>::Error: Debug,
type Error = <T as TryFrom<StateUpdateKindJson>>::Error
fn try_from( raw: StateUpdateKindJson, ) -> Result<T, <T as IntoStateUpdateKindJson>::Error>
Source§impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self
, then passes self.as_ref()
into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self
, then passes self.as_mut()
into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self
, then passes self.deref()
into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PreferredContainer for T
impl<T> PreferredContainer for T
Source§impl<T> ProgressEventTimestamp for T
impl<T> ProgressEventTimestamp for T
Source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
Source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto
.Source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto
.Source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
Source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
The method of
std::ops::AddAssign
, for types that do not implement AddAssign
.Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B>
of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B>
of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R>
view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R>
view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target
of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target
of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref()
only in debug builds, and is erased in release
builds.