pub struct PartitionHint {
pub strategies: Vec<i32>,
pub count: i64,
}Expand description
Enhancement that hints the executor how to partition a relation’s output.
Attach this to any standard relation via register_enhancement to convey
partitioning decisions made during planning.
§Text Format
=== Plan
Root[result]
Read[data => col:i64]
+ Enh:PartitionHint[&HASH, count=8]Fields§
§strategies: Vec<i32>The strategies to apply, in order of preference. Each value is the
integer representation of PartitionStrategy.
count: i64Target number of partitions. 0 means “let the executor decide”.
Implementations§
Source§impl PartitionHint
impl PartitionHint
Sourcepub fn strategies(
&self,
) -> FilterMap<Cloned<Iter<'_, i32>>, fn(i32) -> Option<PartitionStrategy>>
pub fn strategies( &self, ) -> FilterMap<Cloned<Iter<'_, i32>>, fn(i32) -> Option<PartitionStrategy>>
Returns an iterator which yields the valid enum values contained in strategies.
Sourcepub fn push_strategies(&mut self, value: PartitionStrategy)
pub fn push_strategies(&mut self, value: PartitionStrategy)
Appends the provided enum value to strategies.
Trait Implementations§
Source§impl Clone for PartitionHint
impl Clone for PartitionHint
Source§fn clone(&self) -> PartitionHint
fn clone(&self) -> PartitionHint
Returns a duplicate of the value. Read more
1.0.0 · 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 PartitionHint
impl Debug for PartitionHint
Source§impl Default for PartitionHint
impl Default for PartitionHint
Source§impl Explainable for PartitionHint
impl Explainable for PartitionHint
Source§fn name() -> &'static str
fn name() -> &'static str
Canonical textual name for this extension. This is what appears in
Substrait text plans and how the registry identifies the type.
Source§fn from_args(args: &ExtensionArgs) -> Result<Self, ExtensionError>
fn from_args(args: &ExtensionArgs) -> Result<Self, ExtensionError>
Parse extension arguments into this type
Source§fn to_args(&self) -> Result<ExtensionArgs, ExtensionError>
fn to_args(&self) -> Result<ExtensionArgs, ExtensionError>
Convert this type to extension arguments
Source§impl Message for PartitionHint
impl Message for PartitionHint
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message to a buffer. Read more
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message to a newly allocated buffer.
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Encodes the message with a length-delimiter to a buffer. Read more
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message with a length-delimiter to a newly allocated buffer.
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes an instance of the message from a buffer. Read more
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes a length-delimited instance of the message from the buffer.
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes an instance of the message from a buffer, and merges it into
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self.Source§impl Name for PartitionHint
impl Name for PartitionHint
Source§const PACKAGE: &'static str = "example"
const PACKAGE: &'static str = "example"
Package name this message type is contained in. They are domain-like
and delimited by
., e.g. google.protobuf.Source§const NAME: &'static str = "PartitionHint"
const NAME: &'static str = "PartitionHint"
Simple name for this
Message.
This name is the same as it appears in the source .proto file, e.g. FooBar.Source§fn full_name() -> String
fn full_name() -> String
Fully-qualified unique name for this
Message.
It’s prefixed with the package name and names of any parent messages,
e.g. google.rpc.BadRequest.FieldViolation.
By default, this is the package name followed by the message name.
Fully-qualified names must be unique within a domain of Type URLs.Source§impl PartialEq for PartitionHint
impl PartialEq for PartitionHint
impl StructuralPartialEq for PartitionHint
Auto Trait Implementations§
impl Freeze for PartitionHint
impl RefUnwindSafe for PartitionHint
impl Send for PartitionHint
impl Sync for PartitionHint
impl Unpin for PartitionHint
impl UnwindSafe for PartitionHint
Blanket Implementations§
Source§impl<T> AnyConvertible for T
impl<T> AnyConvertible 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