Enum dataflow_types::sources::DebeziumMode [−][src]
pub enum DebeziumMode {
None,
Upsert,
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
Upsert
Keep track of keys from upstream and discard retractions for new keys
Ordered(DebeziumDedupProjection)
Tuple Fields
We can trust high water mark
Full(DebeziumDedupProjection)
Tuple Fields
We need to store some piece of state for every message
FullInRange
Fields
projection: DebeziumDedupProjection
pad_start: Option<NaiveDateTime>
start: NaiveDateTime
end: NaiveDateTime
Trait Implementations
fn 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
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
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
Mutably borrows from an owned value. Read more
Compare self to key
and return true
if they are equal.
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more