1#ifndef DISCRETE_INTERVAL_INCLUDED
2#define DISCRETE_INTERVAL_INCLUDED
74 if (val == ULLONG_MAX) {
98#define DISCRETE_INTERVAL_LIST_HAS_MAX_ONE_ELEMENT 1
118 if (
unlikely(new_interval ==
nullptr))
return true;
119 DBUG_PRINT(
"info", (
"adding new auto_increment interval"));
148#ifdef DISCRETE_INTERVAL_LIST_HAS_MAX_ONE_ELEMENT
181 if (
head ==
nullptr) {
188#ifdef DISCRETE_INTERVAL_LIST_HAS_MAX_ONE_ELEMENT
Definition: discrete_interval.h:41
bool merge_if_contiguous(ulonglong start, ulonglong val, ulonglong incr)
Definition: discrete_interval.h:72
ulonglong interval_min
Definition: discrete_interval.h:43
Discrete_interval * next
Definition: discrete_interval.h:47
bool in_range(const ulonglong value) const
Determine if the given value is within the interval.
Definition: discrete_interval.h:50
ulonglong maximum() const
Definition: discrete_interval.h:66
Discrete_interval()
Definition: discrete_interval.h:63
ulonglong interval_values
Definition: discrete_interval.h:44
ulonglong interval_max
Definition: discrete_interval.h:45
ulonglong values() const
Definition: discrete_interval.h:65
ulonglong minimum() const
Definition: discrete_interval.h:64
void replace(ulonglong start, ulonglong val, ulonglong incr)
Definition: discrete_interval.h:54
Discrete_interval(ulonglong start, ulonglong val, ulonglong incr)
Definition: discrete_interval.h:59
List of Discrete_interval objects.
Definition: discrete_interval.h:87
ulonglong maximum() const
Definition: discrete_interval.h:205
uint nb_elements() const
Definition: discrete_interval.h:206
bool append(ulonglong start, ulonglong val, ulonglong incr)
Appends an interval to the list.
Definition: discrete_interval.h:179
void operator=(Discrete_intervals_list &)
Discrete_interval * tail
Definition: discrete_interval.h:107
bool append(Discrete_interval *new_interval)
Definition: discrete_interval.h:117
const Discrete_interval * get_next()
Definition: discrete_interval.h:164
Discrete_interval first_interval
To avoid heap allocation in the common case when there is only one interval in the list,...
Definition: discrete_interval.h:105
void copy_shallow(const Discrete_intervals_list *other)
Definition: discrete_interval.h:128
Discrete_intervals_list()
Definition: discrete_interval.h:142
uint elements
number of elements
Definition: discrete_interval.h:115
ulonglong minimum() const
Definition: discrete_interval.h:204
Discrete_interval * current
When many intervals are provided at the beginning of the execution of a statement (in a replication s...
Definition: discrete_interval.h:114
void swap(Discrete_intervals_list *other)
Definition: discrete_interval.h:159
~Discrete_intervals_list()
Definition: discrete_interval.h:169
Discrete_intervals_list(const Discrete_intervals_list &other)
Definition: discrete_interval.h:137
void clear()
Definition: discrete_interval.h:144
Discrete_interval * head
Definition: discrete_interval.h:106
Fido Client Authentication nullptr
Definition: fido_client_plugin.cc:222
static void start(mysql_harness::PluginFuncEnv *env)
Definition: http_auth_backend_plugin.cc:177
constexpr bool unlikely(bool expr)
Definition: my_compiler.h:56
#define DBUG_PRINT(keyword, arglist)
Definition: my_dbug.h:181
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:56
unsigned int uint
Definition: uca9-dump.cc:75