MySQL 9.1.0
Source Code Documentation
|
Represents a (potentially interesting) ordering, rollup or (non-rollup) grouping. More...
#include <interesting_orders.h>
Public Types | |
enum class | Kind : char { kEmpty , kOrder , kRollup , kGroup } |
The kind of ordering that an Ordering instance may represent. More... | |
using | Elements = Bounds_checked_array< OrderElement > |
This type hold the individual elements of the ordering. More... | |
Public Member Functions | |
Ordering () | |
Ordering (Elements elements, Kind kind) | |
Ordering (const Ordering &other) | |
Copy constructor. Only defined explicitly to check Valid(). More... | |
Ordering & | operator= (const Ordering &other) |
Assignment operator. Only defined explicitly to check Valid(). More... | |
Ordering | Clone (MEM_ROOT *mem_root) const |
Make a copy of *this. Allocate new memory for m_elements from mem_root. More... | |
Kind | GetKind () const |
const Elements & | GetElements () const |
Elements & | GetElements () |
size_t | size () const |
void | Deduplicate () |
Remove duplicate entries, in-place. More... | |
Private Member Functions | |
bool | Valid () const |
Private Attributes | |
Elements | m_elements |
The ordering terms. More... | |
Kind | m_kind |
The kind of this ordering. More... | |
Friends | |
bool | operator== (const Ordering &a, const Ordering &b) |
Check if 'a' and 'b' has the same kind and contains the same elements. More... | |
Represents a (potentially interesting) ordering, rollup or (non-rollup) grouping.
This type hold the individual elements of the ordering.
|
strong |
The kind of ordering that an Ordering instance may represent.
|
inline |
|
inline |
Copy constructor. Only defined explicitly to check Valid().
Make a copy of *this. Allocate new memory for m_elements from mem_root.
void Ordering::Deduplicate | ( | ) |
Remove duplicate entries, in-place.
|
inline |
|
inline |
|
inline |
Assignment operator. Only defined explicitly to check Valid().
|
inline |
|
private |
Check if 'a' and 'b' has the same kind and contains the same elements.
|
private |
The ordering terms.
|
private |
The kind of this ordering.