pub struct PgTableCursor {
pub after_ts: Option<String>,
pub after_id: Option<String>,
}Expand description
Cursor for PgTableSource::iter_changes_since.
Tuple cursor (after_ts, after_id) mirrors Python commit ff01268. The
(updated_at, id::text) comparison defends against silent row loss when
multiple rows commit at the same boundary timestamp:
- Row
c1@Tarrives → cursor advances to{after_ts: T, after_id: c1}. - Row
c2@Tarrives (same timestamp). - Next sync emits
c2because(T, "c2") > (T, "c1")is true.
Without the tuple cursor, a single-column updated_at > T predicate would
skip c2 forever.
Fields§
§after_ts: Option<String>§after_id: Option<String>Trait Implementations§
Source§impl Clone for PgTableCursor
impl Clone for PgTableCursor
Source§fn clone(&self) -> PgTableCursor
fn clone(&self) -> PgTableCursor
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 PgTableCursor
impl Debug for PgTableCursor
Source§impl Default for PgTableCursor
impl Default for PgTableCursor
Source§fn default() -> PgTableCursor
fn default() -> PgTableCursor
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for PgTableCursor
impl<'de> Deserialize<'de> for PgTableCursor
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
Auto Trait Implementations§
impl Freeze for PgTableCursor
impl RefUnwindSafe for PgTableCursor
impl Send for PgTableCursor
impl Sync for PgTableCursor
impl Unpin for PgTableCursor
impl UnsafeUnpin for PgTableCursor
impl UnwindSafe for PgTableCursor
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
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> 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> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().