pub struct ChunkOffsets {
pub rid_offset: usize,
pub master_local: Vec<usize>,
pub hn_master_counter: u64,
pub id_local: Vec<usize>,
}Expand description
Carries the running counters that record_id/master_id generation
depend on across a sequence of chunked runs (--chunk-size), so chunk
N+1 continues exactly where chunk N left off instead of restarting at
0 — genuinely contiguous, global identifiers over the whole logical
dataset, with no shard-tag hack needed on top. Defaults (all zero) give
the single-run behavior, unchanged.
Fields§
§rid_offset: usizeNext record_id index to hand out (see record_id_string).
master_local: Vec<usize>Next local master_id index per entity, indexed by the entity’s
position in PipelineConfig::entity_plans (see entity_prefix).
Entities absent from a shorter previous chunk’s plan (shouldn’t
happen — the same schema/--only-entity produces the same plan
shape every chunk) simply default to 0 via master_base.
hn_master_counter: u64Next HN-{:09} counter value (see hn_master_id_counter).
id_local: Vec<usize>Next row_offset per entity (same indexing as master_local) for
the generated _id columns (column_gen’s PREFIX-0000000042
fallback): past this entity’s base rows and its canary rows of
every previous chunk. Without it each chunk numbered its _ids from
0 again, so two unrelated records of different chunks shared one
party_id/customer_id.
Trait Implementations§
Source§impl Clone for ChunkOffsets
impl Clone for ChunkOffsets
Source§impl Debug for ChunkOffsets
impl Debug for ChunkOffsets
Auto Trait Implementations§
impl Freeze for ChunkOffsets
impl RefUnwindSafe for ChunkOffsets
impl Send for ChunkOffsets
impl Sync for ChunkOffsets
impl Unpin for ChunkOffsets
impl UnsafeUnpin for ChunkOffsets
impl UnwindSafe for ChunkOffsets
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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