1#ifndef HISTOGRAMS_EQUI_HEIGHT_BUCKET_INCLUDED
2#define HISTOGRAMS_EQUI_HEIGHT_BUCKET_INCLUDED
48namespace equi_height {
Represents a JSON array container, i.e.
Definition: json_dom.h:513
Equi-height bucket.
Definition: equi_height_bucket.h:54
double get_distance_from_upper(const T &value) const
Returns the fraction of all elements between bucket endpoints [a, b] that are strictly greater than "...
Definition: equi_height_bucket.cc:430
const T & get_upper_inclusive() const
Definition: equi_height_bucket.h:104
double get_distance_from_lower(const T &value) const
Finds the relative location of "value" between bucket endpoints.
Definition: equi_height_bucket.cc:202
double get_cumulative_frequency() const
Definition: equi_height_bucket.h:109
Bucket(T lower, T upper, double freq, ha_rows num_distinct)
Equi-height bucket constructor.
Definition: equi_height_bucket.cc:55
T m_upper_inclusive
Upper inclusive value contained in this bucket.
Definition: equi_height_bucket.h:60
ha_rows m_num_distinct
Number of distinct values in this bucket.
Definition: equi_height_bucket.h:66
static bool add_values_json_bucket(const T &lower_value, const T &upper_value, Json_array *json_array)
Add values to a JSON bucket.
ha_rows get_num_distinct() const
Definition: equi_height_bucket.h:114
const T & get_lower_inclusive() const
Definition: equi_height_bucket.h:99
double m_cumulative_frequency
The cumulative frequency. 0.0 <= m_cumulative_frequency <= 1.0.
Definition: equi_height_bucket.h:63
T m_lower_inclusive
Lower inclusive value contained in this bucket.
Definition: equi_height_bucket.h:57
bool bucket_to_json(Json_array *json_array) const
Convert this equi-height bucket to a JSON array.
Definition: equi_height_bucket.cc:67
#define T
Definition: jit_executor_value.cc:373
This file includes constants used by all storage engines.
my_off_t ha_rows
Definition: my_base.h:1141
It is interface module to fixed precision decimals library.
Some integer typedefs for easier portability.
Definition: column_statistics.h:34
ValueType value(const std::optional< ValueType > &v)
Definition: gtid.h:83
HARNESS_EXPORT void upper(std::string &s)
upper-case a string.
Definition: string_utils.cc:85
HARNESS_EXPORT void lower(std::string &s)
lower-case a string.
Definition: string_utils.cc:95
Our own string classes, used pervasively throughout the executor.