1#ifndef DISCRETE_INTERVAL_INCLUDED
2#define DISCRETE_INTERVAL_INCLUDED
73 if (val == ULLONG_MAX) {
97#define DISCRETE_INTERVAL_LIST_HAS_MAX_ONE_ELEMENT 1
117 if (
unlikely(new_interval ==
nullptr))
return true;
118 DBUG_PRINT(
"info", (
"adding new auto_increment interval"));
147#ifdef DISCRETE_INTERVAL_LIST_HAS_MAX_ONE_ELEMENT
180 if (
head ==
nullptr) {
187#ifdef DISCRETE_INTERVAL_LIST_HAS_MAX_ONE_ELEMENT
Definition: discrete_interval.h:40
bool merge_if_contiguous(ulonglong start, ulonglong val, ulonglong incr)
Definition: discrete_interval.h:71
ulonglong interval_min
Definition: discrete_interval.h:42
Discrete_interval * next
Definition: discrete_interval.h:46
bool in_range(const ulonglong value) const
Determine if the given value is within the interval.
Definition: discrete_interval.h:49
ulonglong maximum() const
Definition: discrete_interval.h:65
Discrete_interval()
Definition: discrete_interval.h:62
ulonglong interval_values
Definition: discrete_interval.h:43
ulonglong interval_max
Definition: discrete_interval.h:44
ulonglong values() const
Definition: discrete_interval.h:64
ulonglong minimum() const
Definition: discrete_interval.h:63
void replace(ulonglong start, ulonglong val, ulonglong incr)
Definition: discrete_interval.h:53
Discrete_interval(ulonglong start, ulonglong val, ulonglong incr)
Definition: discrete_interval.h:58
List of Discrete_interval objects.
Definition: discrete_interval.h:86
ulonglong maximum() const
Definition: discrete_interval.h:204
uint nb_elements() const
Definition: discrete_interval.h:205
bool append(ulonglong start, ulonglong val, ulonglong incr)
Appends an interval to the list.
Definition: discrete_interval.h:178
void operator=(Discrete_intervals_list &)
Discrete_interval * tail
Definition: discrete_interval.h:106
bool append(Discrete_interval *new_interval)
Definition: discrete_interval.h:116
const Discrete_interval * get_next()
Definition: discrete_interval.h:163
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:104
void copy_shallow(const Discrete_intervals_list *other)
Definition: discrete_interval.h:127
Discrete_intervals_list()
Definition: discrete_interval.h:141
uint elements
number of elements
Definition: discrete_interval.h:114
ulonglong minimum() const
Definition: discrete_interval.h:203
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:113
void swap(Discrete_intervals_list *other)
Definition: discrete_interval.h:158
~Discrete_intervals_list()
Definition: discrete_interval.h:168
Discrete_intervals_list(const Discrete_intervals_list &other)
Definition: discrete_interval.h:136
void clear()
Definition: discrete_interval.h:143
Discrete_interval * head
Definition: discrete_interval.h:105
Fido Client Authentication nullptr
Definition: fido_client_plugin.cc:221
static void start(mysql_harness::PluginFuncEnv *env)
Definition: http_auth_backend_plugin.cc:176
constexpr bool unlikely(bool expr)
Definition: my_compiler.h:55
#define DBUG_PRINT(keyword, arglist)
Definition: my_dbug.h:180
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:55
unsigned int uint
Definition: uca9-dump.cc:74