32#ifndef ddl0impl_compare_h
33#define ddl0impl_compare_h
81 }
while (
cmp == 0 && --
n);
94 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:1064
The general architecture is that the work is done in two phases, roughly the read and write phase.
Definition: btr0load.cc:42
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:41
const dict_field_t * m_fields
Index key fields.
Definition: ddl0impl-compare.h:131
const size_t m_n_fields
Total number of fields in the index key.
Definition: ddl0impl-compare.h:128
Compare_key(const Compare_key &)=default
Dup * m_dups
For collecting duplicates.
Definition: ddl0impl-compare.h:122
int operator()(const dfield_t *lhs, const dfield_t *rhs) const noexcept
Compare two tuples.
Definition: ddl0impl-compare.h:66
const size_t m_n_unique
Number of unique fields in the index key.
Definition: ddl0impl-compare.h:125
~Compare_key()=default
Destructor.
Compare_key(const dict_index_t *index, Dup *dups, bool compare_all) noexcept
Constructor.
Definition: ddl0impl-compare.h:46
Structure for reporting duplicate records.
Definition: ddl0ddl.h:132
dict_index_t * m_index
Index being sorted.
Definition: ddl0ddl.h:146
void report(const dfield_t *entry) noexcept
Report a duplicate key.
Definition: ddl0ddl.cc:83
Structure for an SQL data field.
Definition: data0data.h:617
Data structure for a field in an index.
Definition: dict0mem.h:890
Data structure for an index.
Definition: dict0mem.h:1041
#define ut_a(EXPR)
Abort execution if EXPR does not evaluate to nonzero.
Definition: ut0dbg.h:93
int n
Definition: xcom_base.cc:509