pub struct Histogram {
pub buckets: Vec<HistogramBucket>,
pub total_count: usize,
}Expand description
Histogram for data distribution
Fields§
§buckets: Vec<HistogramBucket>Histogram buckets
total_count: usizeTotal number of values
Implementations§
Source§impl Histogram
impl Histogram
Sourcepub fn new(buckets: Vec<HistogramBucket>, total_count: usize) -> Self
pub fn new(buckets: Vec<HistogramBucket>, total_count: usize) -> Self
Create new histogram
Sourcepub fn equi_width(
min: f64,
max: f64,
num_buckets: usize,
values: &[f64],
) -> Self
pub fn equi_width( min: f64, max: f64, num_buckets: usize, values: &[f64], ) -> Self
Create equi-width histogram
Sourcepub fn estimate_range_selectivity(
&self,
start: &ColumnValue,
end: &ColumnValue,
) -> f64
pub fn estimate_range_selectivity( &self, start: &ColumnValue, end: &ColumnValue, ) -> f64
Estimate selectivity for range query
Sourcepub fn num_buckets(&self) -> usize
pub fn num_buckets(&self) -> usize
Get number of buckets
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Histogram
impl RefUnwindSafe for Histogram
impl Send for Histogram
impl Sync for Histogram
impl Unpin for Histogram
impl UnwindSafe for Histogram
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