Enum mz_dataflow_types::sources::DebeziumMode
source · [−]pub enum DebeziumMode {
None,
Ordered(DebeziumDedupProjection),
Full(DebeziumDedupProjection),
FullInRange {
projection: DebeziumDedupProjection,
pad_start: Option<NaiveDateTime>,
start: NaiveDateTime,
end: NaiveDateTime,
},
}
Expand description
Ordered means we can trust Debezium high water marks
In standard operation, Debezium should always emit messages in position order, but messages may be duplicated.
For example, this is a legal stream of Debezium event positions:
1 2 3 2
Note that 2
appears twice, but the first time it appeared it appeared in order.
Any position below the highest-ever seen position is guaranteed to be a duplicate,
and can be ignored.
Now consider this stream:
1 3 2
In this case, 2
is sent out of order, and if it is ignored we will miss important
state.
It is possible for users to do things with multiple databases and multiple Debezium instances pointing at the same Kafka topic that mean that the Debezium guarantees do not hold, in which case we are required to track individual messages, instead of just the highest-ever-seen message.
Variants
None
Do not perform any deduplication
Ordered(DebeziumDedupProjection)
We can trust high water mark
Full(DebeziumDedupProjection)
We need to store some piece of state for every message
FullInRange
Fields
projection: DebeziumDedupProjection
pad_start: Option<NaiveDateTime>
start: NaiveDateTime
end: NaiveDateTime
Implementations
sourceimpl DebeziumMode
impl DebeziumMode
pub fn tx_metadata(&self) -> Option<&DebeziumTransactionMetadata>
Trait Implementations
sourceimpl Arbitrary for DebeziumMode
impl Arbitrary for DebeziumMode
type Strategy = BoxedStrategy<Self>
type Strategy = BoxedStrategy<Self>
type Parameters = ()
type Parameters = ()
The type of parameters that arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
. Read more
sourcefn arbitrary_with(_: Self::Parameters) -> Self::Strategy
fn arbitrary_with(_: Self::Parameters) -> Self::Strategy
sourceimpl Clone for DebeziumMode
impl Clone for DebeziumMode
sourcefn clone(&self) -> DebeziumMode
fn clone(&self) -> DebeziumMode
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for DebeziumMode
impl Debug for DebeziumMode
sourceimpl<'de> Deserialize<'de> for DebeziumMode
impl<'de> Deserialize<'de> for DebeziumMode
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl PartialEq<DebeziumMode> for DebeziumMode
impl PartialEq<DebeziumMode> for DebeziumMode
sourcefn eq(&self, other: &DebeziumMode) -> bool
fn eq(&self, other: &DebeziumMode) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &DebeziumMode) -> bool
fn ne(&self, other: &DebeziumMode) -> bool
This method tests for !=
.
sourceimpl RustType<ProtoDebeziumMode> for DebeziumMode
impl RustType<ProtoDebeziumMode> for DebeziumMode
sourcefn into_proto(&self) -> ProtoDebeziumMode
fn into_proto(&self) -> ProtoDebeziumMode
Convert a Self
into a Proto
value.
sourcefn from_proto(proto: ProtoDebeziumMode) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoDebeziumMode) -> Result<Self, TryFromProtoError>
Consume and convert a Proto
back into a Self
value. Read more
sourceimpl Serialize for DebeziumMode
impl Serialize for DebeziumMode
impl Eq for DebeziumMode
impl StructuralEq for DebeziumMode
impl StructuralPartialEq for DebeziumMode
Auto Trait Implementations
impl RefUnwindSafe for DebeziumMode
impl Send for DebeziumMode
impl Sync for DebeziumMode
impl Unpin for DebeziumMode
impl UnwindSafe for DebeziumMode
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> FutureExt for T
impl<T> FutureExt for T
sourcefn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
sourcefn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
sourcefn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message T
in a tonic::Request
sourceimpl<T> ProgressEventTimestamp for T where
T: Data + Debug + Any,
impl<T> ProgressEventTimestamp for T where
T: Data + Debug + Any,
sourceimpl<P, R> ProtoType<R> for P where
R: RustType<P>,
impl<P, R> ProtoType<R> for P where
R: RustType<P>,
sourcefn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See RustType::from_proto
.
sourcefn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See RustType::into_proto
.
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more