#[non_exhaustive]pub struct KeyedHashJoinStrategyOptions { /* private fields */ }Expand description
Threshold policy used by capability admission and runtime keyed-hash join strategy selection.
This is an expert Rust surface only. Keep server/session/user-facing settings out until the admission and runtime contracts have a reviewed tuning model.
Implementations§
Source§impl KeyedHashJoinStrategyOptions
impl KeyedHashJoinStrategyOptions
Sourcepub fn large_keyed_hash_build_row_threshold(&self) -> u64
pub fn large_keyed_hash_build_row_threshold(&self) -> u64
Build row threshold used to classify a keyed hash build as large.
Sourcepub fn large_keyed_hash_build_bytes_threshold(&self) -> u64
pub fn large_keyed_hash_build_bytes_threshold(&self) -> u64
Build byte threshold used alongside row evidence to classify a large build.
Sourcepub fn large_keyed_hash_probe_bytes_threshold(&self) -> u64
pub fn large_keyed_hash_probe_bytes_threshold(&self) -> u64
Probe byte threshold used when considering partitioned execution.
Sourcepub fn small_reusable_hash_build_row_threshold(&self) -> u64
pub fn small_reusable_hash_build_row_threshold(&self) -> u64
Build row bound for considering a reusable hash build even for one probe.
Sourcepub fn small_reusable_hash_build_bytes_threshold(&self) -> u64
pub fn small_reusable_hash_build_bytes_threshold(&self) -> u64
Build byte bound paired with the small reusable-build row threshold.
Sourcepub fn small_one_shot_probe_bytes_threshold(&self) -> u64
pub fn small_one_shot_probe_bytes_threshold(&self) -> u64
Probe byte bound under which a one-shot join can avoid partitioning.
Sourcepub fn max_small_probe_left_one_shot_build_row_threshold(&self) -> u64
pub fn max_small_probe_left_one_shot_build_row_threshold(&self) -> u64
Maximum build rows for the one-shot left-join path with a small probe.
Sourcepub fn max_small_probe_left_one_shot_build_bytes_threshold(&self) -> u64
pub fn max_small_probe_left_one_shot_build_bytes_threshold(&self) -> u64
Maximum build bytes for the one-shot left-join path with a small probe.
Sourcepub fn validate(&self) -> Result<(), QueryError>
pub fn validate(&self) -> Result<(), QueryError>
Validates internal consistency for keyed hash-join strategy thresholds.
Zero remains accepted because this policy is still an expert Rust surface and callers may use zero to disable narrow strategy branches. The checks only reject threshold orderings that make “small” and “large” evidence overlap contradictorily.
Sourcepub fn with_large_keyed_hash_build_row_threshold(
self,
rows: u64,
) -> KeyedHashJoinStrategyOptions
pub fn with_large_keyed_hash_build_row_threshold( self, rows: u64, ) -> KeyedHashJoinStrategyOptions
Sets the large-build row threshold. Call Self::validate to check
its ordering against the small reusable-build threshold.
Sourcepub fn with_large_keyed_hash_build_bytes_threshold(
self,
bytes: u64,
) -> KeyedHashJoinStrategyOptions
pub fn with_large_keyed_hash_build_bytes_threshold( self, bytes: u64, ) -> KeyedHashJoinStrategyOptions
Sets the large-build threshold in bytes. Call Self::validate to
check its ordering against the small reusable-build byte threshold.
Sourcepub fn with_small_reusable_hash_build_row_threshold(
self,
rows: u64,
) -> KeyedHashJoinStrategyOptions
pub fn with_small_reusable_hash_build_row_threshold( self, rows: u64, ) -> KeyedHashJoinStrategyOptions
Sets the small reusable-build row threshold. This setter does not validate its ordering against the large-build threshold.
Sourcepub fn with_small_reusable_hash_build_bytes_threshold(
self,
bytes: u64,
) -> KeyedHashJoinStrategyOptions
pub fn with_small_reusable_hash_build_bytes_threshold( self, bytes: u64, ) -> KeyedHashJoinStrategyOptions
Sets the small reusable-build byte threshold. This setter does not validate its ordering against the large-build byte threshold.
Trait Implementations§
Source§impl Clone for KeyedHashJoinStrategyOptions
impl Clone for KeyedHashJoinStrategyOptions
Source§fn clone(&self) -> KeyedHashJoinStrategyOptions
fn clone(&self) -> KeyedHashJoinStrategyOptions
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 KeyedHashJoinStrategyOptions
Source§impl Debug for KeyedHashJoinStrategyOptions
impl Debug for KeyedHashJoinStrategyOptions
Source§impl Default for KeyedHashJoinStrategyOptions
impl Default for KeyedHashJoinStrategyOptions
Source§fn default() -> KeyedHashJoinStrategyOptions
fn default() -> KeyedHashJoinStrategyOptions
impl Eq for KeyedHashJoinStrategyOptions
impl StructuralPartialEq for KeyedHashJoinStrategyOptions
Auto Trait Implementations§
impl Freeze for KeyedHashJoinStrategyOptions
impl RefUnwindSafe for KeyedHashJoinStrategyOptions
impl Send for KeyedHashJoinStrategyOptions
impl Sync for KeyedHashJoinStrategyOptions
impl Unpin for KeyedHashJoinStrategyOptions
impl UnsafeUnpin for KeyedHashJoinStrategyOptions
impl UnwindSafe for KeyedHashJoinStrategyOptions
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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
key and return true if they are equal.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§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> ⓘ
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 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>
T in a tonic::Request