pub enum RedshiftReplication {
Full,
Incremental {
column: String,
initial_value: Value,
},
}Expand description
How the Redshift source replicates rows across runs.
Serializes as { type: full } or
{ type: incremental, column: "...", initial_value: ... }.
Variants§
Full
Every run re-fetches the full result set (default).
Incremental
Only rows not yet read, in column order, resuming from the stored
bookmark (or initial_value on the first run).
The source wraps the query as
SELECT * FROM (<query>) AS q WHERE q."column" >= CAST($n AS <type>) ORDER BY q."column"
(the column’s type as the server describes it) and drops the rows it
already emitted at the bookmark value, so rows that share a cursor
value (batch loads stamped with one updated_at, COPY jobs landing in
several commits) are never skipped. Every page carries a bookmark, so
a crash replays at most one page. Write ${bookmark} in the query
(with >=) to apply the cursor further inside it; a strict > is
refused. Rows whose column is NULL are never read.
Trait Implementations§
Source§impl Clone for RedshiftReplication
impl Clone for RedshiftReplication
Source§impl Debug for RedshiftReplication
impl Debug for RedshiftReplication
Source§impl Default for RedshiftReplication
impl Default for RedshiftReplication
Source§impl<'de> Deserialize<'de> for RedshiftReplication
impl<'de> Deserialize<'de> for RedshiftReplication
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>,
Source§impl JsonSchema for RedshiftReplication
impl JsonSchema for RedshiftReplication
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for RedshiftReplication
impl PartialEq for RedshiftReplication
Source§impl Serialize for RedshiftReplication
impl Serialize for RedshiftReplication
impl StructuralPartialEq for RedshiftReplication
Auto Trait Implementations§
impl Forget for RedshiftReplication
impl Freeze for RedshiftReplication
impl Move for RedshiftReplication
impl RefUnwindSafe for RedshiftReplication
impl Send for RedshiftReplication
impl Sync for RedshiftReplication
impl Unpin for RedshiftReplication
impl UnsafeUnpin for RedshiftReplication
impl UnwindSafe for RedshiftReplication
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
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> 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> ⓘ
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> ⓘ
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 more