pub enum BlockOrder {
InsertTime,
EventTime,
}Expand description
How source blocks are ordered before being cut into JIT partitions.
The choice matters because generate_stream_jit_partitions_segment and the batched block
queries driven by generate_stream_jit_partitions / generate_process_jit_partitions fetch
blocks with ORDER BY insert_time, block_id, and that SQL order is what
group_blocks_into_partitions starts from.
Variants§
InsertTime
Registration order (insert_time, block_id), i.e. the SQL order is kept as-is. Correct
for views that decode each block independently and declare no scan ordering: cutting an
insert-ordered list always yields insert-time ranges that are non-decreasing and
non-overlapping across partitions, by construction.
EventTime
Event order (begin_ticks, end_ticks). Required by views that build cross-block trees or
derive event-time bounds from the list endpoints, and by any view declaring
ScanOrdering::Concatenated over an event-time column. Sorting by event time can put blocks
with out-of-order insert_time inside one partition or straddling a cut point, so
group_blocks_into_partitions additionally enforces insert-safe cut points (see its docs)
to keep JIT partitions’ insert-time ranges non-overlapping.
Trait Implementations§
Source§impl Clone for BlockOrder
impl Clone for BlockOrder
Source§fn clone(&self) -> BlockOrder
fn clone(&self) -> BlockOrder
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for BlockOrder
Source§impl Debug for BlockOrder
impl Debug for BlockOrder
impl Eq for BlockOrder
Source§impl PartialEq for BlockOrder
impl PartialEq for BlockOrder
impl StructuralPartialEq for BlockOrder
Auto Trait Implementations§
impl Freeze for BlockOrder
impl RefUnwindSafe for BlockOrder
impl Send for BlockOrder
impl Sync for BlockOrder
impl Unpin for BlockOrder
impl UnsafeUnpin for BlockOrder
impl UnwindSafe for BlockOrder
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].