My Project
|
Public Member Functions | |
void | set_repertoire_from_charset (const CHARSET_INFO *cs) |
DTCollation (const CHARSET_INFO *collation_arg, Derivation derivation_arg) | |
void | set (DTCollation &dt) |
void | set (const CHARSET_INFO *collation_arg, Derivation derivation_arg) |
void | set (const CHARSET_INFO *collation_arg, Derivation derivation_arg, uint repertoire_arg) |
void | set_numeric () |
void | set (const CHARSET_INFO *collation_arg) |
void | set (Derivation derivation_arg) |
void | set_repertoire (uint repertoire_arg) |
bool | aggregate (DTCollation &dt, uint flags=0) |
bool | set (DTCollation &dt1, DTCollation &dt2, uint flags=0) |
const char * | derivation_name () const |
Public Attributes | |
const CHARSET_INFO * | collation |
enum Derivation | derivation |
uint | repertoire |
bool DTCollation::aggregate | ( | DTCollation & | dt, |
uint | flags = 0 |
||
) |
Aggregate two collations together taking into account their coercibility (aka derivation):.
0 == DERIVATION_EXPLICIT - an explicitly written COLLATE clause
1 == DERIVATION_NONE - a mix of two different collations
2 == DERIVATION_IMPLICIT - a column
3 == DERIVATION_COERCIBLE - a string constant.
The most important rules are:
CONCAT(latin1_swedish_ci_column, latin1_german1_ci_column, expr COLLATE latin1_german2_ci)