Public Member Functions | |
DRIZZLED_LOCAL | DTCollation (const charset_info_st *const collation_arg, Derivation derivation_arg) |
void | set (DTCollation &dt) |
void | set (const charset_info_st *const collation_arg, Derivation derivation_arg) |
void | set (const charset_info_st *const collation_arg) |
void | set (Derivation derivation_arg) |
bool | set (DTCollation &dt1, DTCollation &dt2, uint32_t flags=0) |
DRIZZLED_LOCAL bool | aggregate (DTCollation &dt, uint32_t flags=0) |
DRIZZLED_LOCAL const char * | derivation_name () const |
Public Attributes | |
const charset_info_st * | collation |
enum Derivation | derivation |
Definition at line 31 of file dtcollation.h.
bool drizzled::DTCollation::aggregate | ( | DTCollation & | dt, |
uint32_t | 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)
Definition at line 76 of file dtcollation.cc.