pub enum Partitioning {
Unpartitioned,
Hash {
keys: Vec<String>,
buckets: u32,
},
RoundRobin {
buckets: u32,
},
Broadcast,
Range {
keys: Vec<(String, bool)>,
boundaries: Vec<String>,
buckets: u32,
},
}Expand description
Partitioning strategy for a plan node’s output.
Variants§
Unpartitioned
No partitioning — data is not distributed across partitions.
Hash
Hash-based partitioning on named key columns.
RoundRobin
Round-robin distribution across N buckets.
Broadcast
Broadcast — replicate to all downstream partitions.
Range
E2.4: Range-based partitioning using sampled sort key boundaries.
Rows whose sort key falls in [boundaries[i-1], boundaries[i]) go to
partition i. Used by GlobalSort / SortMergeJoin pipelines.
Trait Implementations§
Source§impl Clone for Partitioning
impl Clone for Partitioning
Source§fn clone(&self) -> Partitioning
fn clone(&self) -> Partitioning
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 Partitioning
impl Debug for Partitioning
Source§impl<'de> Deserialize<'de> for Partitioning
impl<'de> Deserialize<'de> for Partitioning
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 Display for Partitioning
impl Display for Partitioning
impl Eq for Partitioning
Source§impl PartialEq for Partitioning
impl PartialEq for Partitioning
Source§impl Serialize for Partitioning
impl Serialize for Partitioning
impl StructuralPartialEq for Partitioning
Auto Trait Implementations§
impl Freeze for Partitioning
impl RefUnwindSafe for Partitioning
impl Send for Partitioning
impl Sync for Partitioning
impl Unpin for Partitioning
impl UnsafeUnpin for Partitioning
impl UnwindSafe for Partitioning
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
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<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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