31#ifndef ddl0impl_compare_h
32#define ddl0impl_compare_h
80 }
while (
cmp == 0 && --
n);
93 for (
auto df = lhs; df != lhs_f; ++df) {
static ulint dfield_is_null(const dfield_t *field)
Determines if a field is SQL NULL.
DDL implementation include file.
static ulint dict_index_get_n_unique(const dict_index_t *index)
Gets the number of fields in the internal representation of an index that uniquely determine the posi...
static ulint dict_index_get_n_fields(const dict_index_t *index)
Gets the number of fields in the internal representation of an index, including fields added by the d...
static int cmp(Bigint *a, Bigint *b)
Definition: dtoa.cc:1059
The general architecture is that the work is done in two phases, roughly the read and write phase.
Definition: btr0load.cc:41
Comparison services for records.
static int cmp_dfield_dfield(const dfield_t *dfield1, const dfield_t *dfield2, bool is_asc)
Compare two data fields.
Compare the keys of an index.
Definition: ddl0impl-compare.h:40
const dict_field_t * m_fields
Index key fields.
Definition: ddl0impl-compare.h:130
const size_t m_n_fields
Total number of fields in the index key.
Definition: ddl0impl-compare.h:127
Compare_key(const Compare_key &)=default
Dup * m_dups
For collecting duplicates.
Definition: ddl0impl-compare.h:121
int operator()(const dfield_t *lhs, const dfield_t *rhs) const noexcept
Compare two tuples.
Definition: ddl0impl-compare.h:65
const size_t m_n_unique
Number of unique fields in the index key.
Definition: ddl0impl-compare.h:124
~Compare_key()=default
Destructor.
Compare_key(const dict_index_t *index, Dup *dups, bool compare_all) noexcept
Constructor.
Definition: ddl0impl-compare.h:45
Structure for reporting duplicate records.
Definition: ddl0ddl.h:131
dict_index_t * m_index
Index being sorted.
Definition: ddl0ddl.h:145
void report(const dfield_t *entry) noexcept
Report a duplicate key.
Definition: ddl0ddl.cc:82
Structure for an SQL data field.
Definition: data0data.h:604
Data structure for a field in an index.
Definition: dict0mem.h:894
Data structure for an index.
Definition: dict0mem.h:1045
#define ut_a(EXPR)
Abort execution if EXPR does not evaluate to nonzero.
Definition: ut0dbg.h:56
int n
Definition: xcom_base.cc:508