#[non_exhaustive]pub enum SchemaReport {
Undeclared,
Reported,
Schemaless,
DropsUnknownFields,
}Expand description
How a sink treats a record field its destination has no column for — the fact the schema-drift policy needs to decide whether it can act (#883).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Undeclared
The sink has not declared it.
Reported
Sink::current_schema reports the live
destination schema, so the drift pass sees every column change.
Schemaless
The sink reports no schema and writes every field it is given.
DropsUnknownFields
The sink reports no schema and silently drops fields its destination
schema lacks. A drift policy is blind against it, so on_drift: fail
is refused at load time rather than silently inert.
Implementations§
Trait Implementations§
Source§impl Clone for SchemaReport
impl Clone for SchemaReport
impl Copy for SchemaReport
Source§impl Debug for SchemaReport
impl Debug for SchemaReport
Source§impl Default for SchemaReport
impl Default for SchemaReport
Source§impl<'de> Deserialize<'de> for SchemaReport
impl<'de> Deserialize<'de> for SchemaReport
Source§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
impl Eq for SchemaReport
Source§impl Hash for SchemaReport
impl Hash for SchemaReport
Source§impl PartialEq for SchemaReport
impl PartialEq for SchemaReport
Source§impl Serialize for SchemaReport
impl Serialize for SchemaReport
impl StructuralPartialEq for SchemaReport
Auto Trait Implementations§
impl Freeze for SchemaReport
impl RefUnwindSafe for SchemaReport
impl Send for SchemaReport
impl Sync for SchemaReport
impl Unpin for SchemaReport
impl UnsafeUnpin for SchemaReport
impl UnwindSafe for SchemaReport
Blanket Implementations§
impl<T> Allocation for T
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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> 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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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