pub struct StaticProvider { /* private fields */ }Expand description
HashMap-backed provider suitable for tests and for callers who gather stats once per plan.
Implementations§
Source§impl StaticProvider
impl StaticProvider
Sourcepub fn new() -> StaticProvider
pub fn new() -> StaticProvider
Build an empty provider.
Sourcepub fn with_table(
self,
table: impl Into<String>,
stats: TableStats,
) -> StaticProvider
pub fn with_table( self, table: impl Into<String>, stats: TableStats, ) -> StaticProvider
Register or replace table-level stats.
Sourcepub fn with_index(
self,
table: impl Into<String>,
column: impl Into<String>,
stats: IndexStats,
) -> StaticProvider
pub fn with_index( self, table: impl Into<String>, column: impl Into<String>, stats: IndexStats, ) -> StaticProvider
Register or replace an index on (table, column).
Sourcepub fn insert_table(&mut self, table: impl Into<String>, stats: TableStats)
pub fn insert_table(&mut self, table: impl Into<String>, stats: TableStats)
Mutable table insert for iterative builds.
Sourcepub fn insert_index(
&mut self,
table: impl Into<String>,
column: impl Into<String>,
stats: IndexStats,
)
pub fn insert_index( &mut self, table: impl Into<String>, column: impl Into<String>, stats: IndexStats, )
Mutable index insert.
Sourcepub fn with_histogram(
self,
table: impl Into<String>,
column: impl Into<String>,
histogram: Histogram,
) -> StaticProvider
pub fn with_histogram( self, table: impl Into<String>, column: impl Into<String>, histogram: Histogram, ) -> StaticProvider
Register or replace an equi-depth histogram on (table, column).
Sourcepub fn with_mcv(
self,
table: impl Into<String>,
column: impl Into<String>,
mcv: MostCommonValues,
) -> StaticProvider
pub fn with_mcv( self, table: impl Into<String>, column: impl Into<String>, mcv: MostCommonValues, ) -> StaticProvider
Register or replace an MCV list on (table, column).
Trait Implementations§
Source§impl Clone for StaticProvider
impl Clone for StaticProvider
Source§fn clone(&self) -> StaticProvider
fn clone(&self) -> StaticProvider
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 StaticProvider
impl Debug for StaticProvider
Source§impl Default for StaticProvider
impl Default for StaticProvider
Source§fn default() -> StaticProvider
fn default() -> StaticProvider
Returns the “default value” for a type. Read more
Source§impl StatsProvider for StaticProvider
impl StatsProvider for StaticProvider
Source§fn table_stats(&self, table: &str) -> Option<TableStats>
fn table_stats(&self, table: &str) -> Option<TableStats>
Return row-count / page-count / column metadata for
table, or
None when stats are not available.Source§fn index_stats(&self, table: &str, column: &str) -> Option<IndexStats>
fn index_stats(&self, table: &str, column: &str) -> Option<IndexStats>
Return the
IndexStats backing a secondary index on
(table, column), if one exists. The planner uses
IndexStats::point_selectivity to derive equality selectivity
instead of the 0.01 constant.Source§fn column_histogram(&self, table: &str, column: &str) -> Option<Histogram>
fn column_histogram(&self, table: &str, column: &str) -> Option<Histogram>
Optional equi-depth histogram for the column. Defaults to
None, in which case the planner falls back to its uniform
0.3 range heuristic. Read moreSource§fn column_mcv(&self, table: &str, column: &str) -> Option<MostCommonValues>
fn column_mcv(&self, table: &str, column: &str) -> Option<MostCommonValues>
Optional most-common-values list for the column. Defaults to
None, in which case the planner falls back to its uniform
0.01 equality heuristic. Use for skewed columns where one or
two values dominate the table.Source§fn column_stats(&self, table: &str, column: &str) -> Option<ColumnStats>
fn column_stats(&self, table: &str, column: &str) -> Option<ColumnStats>
Return per-column statistics (distinct count, null count, min/max)
when available. Default implementation derives from
StatsProvider::table_stats when present.Auto Trait Implementations§
impl Freeze for StaticProvider
impl RefUnwindSafe for StaticProvider
impl Send for StaticProvider
impl Sync for StaticProvider
impl Unpin for StaticProvider
impl UnsafeUnpin for StaticProvider
impl UnwindSafe for StaticProvider
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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