Skip to main content

KeyedHashJoinStrategyOptions

Struct KeyedHashJoinStrategyOptions 

Source
#[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

Source

pub fn large_keyed_hash_build_row_threshold(&self) -> u64

Build row threshold used to classify a keyed hash build as large.

Source

pub fn large_keyed_hash_build_bytes_threshold(&self) -> u64

Build byte threshold used alongside row evidence to classify a large build.

Source

pub fn large_keyed_hash_probe_bytes_threshold(&self) -> u64

Probe byte threshold used when considering partitioned execution.

Source

pub fn small_reusable_hash_build_row_threshold(&self) -> u64

Build row bound for considering a reusable hash build even for one probe.

Source

pub fn small_reusable_hash_build_bytes_threshold(&self) -> u64

Build byte bound paired with the small reusable-build row threshold.

Source

pub fn small_one_shot_probe_bytes_threshold(&self) -> u64

Probe byte bound under which a one-shot join can avoid partitioning.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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

Source§

fn clone(&self) -> KeyedHashJoinStrategyOptions

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for KeyedHashJoinStrategyOptions

Source§

impl Debug for KeyedHashJoinStrategyOptions

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Default for KeyedHashJoinStrategyOptions

Source§

fn default() -> KeyedHashJoinStrategyOptions

Returns the “default value” for a type. Read more
Source§

impl Eq for KeyedHashJoinStrategyOptions

Source§

impl PartialEq for KeyedHashJoinStrategyOptions

Source§

fn eq(&self, other: &KeyedHashJoinStrategyOptions) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for KeyedHashJoinStrategyOptions

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynEq for T
where T: Eq + Any,

Source§

fn dyn_eq(&self, other: &(dyn Any + 'static)) -> bool

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more