#[non_exhaustive]pub enum OverwriteScope {
Window {
column: String,
from: Value,
to: Value,
},
}Expand description
Scope for a scoped/windowed overwrite (#518): with write_mode: overwrite, replace only the destination rows matching this scope instead of
truncating the whole table. The sink-side sibling of scoped cleanup (#478).
v1 supports a half-open date/number window on a single column.
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.
Window
Replace rows where column is in the half-open range [from, to).
Implementations§
Source§impl OverwriteScope
impl OverwriteScope
Sourcepub fn validate(&self) -> Result<(), FaucetError>
pub fn validate(&self) -> Result<(), FaucetError>
Validate the scope at config-load time.
Sourcepub fn render_where_literal(&self, quoted_col: &str) -> String
pub fn render_where_literal(&self, quoted_col: &str) -> String
Render a SQL WHERE predicate over the (already-quoted) column using
escaped SQL literals for the bounds. Literals (not bind params) are
used so the engine coerces a string bound to the column’s real type
(date >= '2024-06-01' works; a text-typed bind param would not). String
literals have their single quotes doubled, so a crafted bound cannot
break out of the quotes.
Trait Implementations§
Source§impl Clone for OverwriteScope
impl Clone for OverwriteScope
Source§fn clone(&self) -> OverwriteScope
fn clone(&self) -> OverwriteScope
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 OverwriteScope
impl Debug for OverwriteScope
Source§impl<'de> Deserialize<'de> for OverwriteScope
impl<'de> Deserialize<'de> for OverwriteScope
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
Source§impl JsonSchema for OverwriteScope
impl JsonSchema for OverwriteScope
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl PartialEq for OverwriteScope
impl PartialEq for OverwriteScope
Source§impl Serialize for OverwriteScope
impl Serialize for OverwriteScope
impl StructuralPartialEq for OverwriteScope
Auto Trait Implementations§
impl Freeze for OverwriteScope
impl RefUnwindSafe for OverwriteScope
impl Send for OverwriteScope
impl Sync for OverwriteScope
impl Unpin for OverwriteScope
impl UnsafeUnpin for OverwriteScope
impl UnwindSafe for OverwriteScope
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<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