1
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
2
* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
4
* Copyright (C) 2008 Sun Microsystems
4
* Copyright (C) 2008 Sun Microsystems, Inc.
6
6
* This program is free software; you can redistribute it and/or modify
7
7
* it under the terms of the GNU General Public License as published by
17
17
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20
#ifndef DRIZZLED_DTCOLLATION_H
21
#define DRIZZLED_DTCOLLATION_H
25
22
#include <drizzled/definitions.h>
28
typedef struct charset_info_st CHARSET_INFO;
23
#include <drizzled/visibility.h>
27
class DRIZZLED_API DTCollation
33
const CHARSET_INFO *collation;
34
enum Derivation derivation;
37
void set_repertoire_from_charset(const CHARSET_INFO * const cs);
40
DTCollation(const CHARSET_INFO * const collation_arg,
41
Derivation derivation_arg);
30
const charset_info_st* collation;
31
Derivation derivation;
33
DRIZZLED_LOCAL DTCollation();
34
DRIZZLED_LOCAL DTCollation(const charset_info_st*, Derivation);
42
35
void set(DTCollation &dt);
43
void set(const CHARSET_INFO * const collation_arg,
44
Derivation derivation_arg);
45
void set(const CHARSET_INFO * const collation_arg,
46
Derivation derivation_arg,
47
uint32_t repertoire_arg);
48
void set(const CHARSET_INFO * const collation_arg);
36
void set(const charset_info_st*, Derivation);
37
void set(const charset_info_st*);
49
38
void set(Derivation derivation_arg);
50
39
bool set(DTCollation &dt1, DTCollation &dt2, uint32_t flags= 0);
88
bool aggregate(DTCollation &dt, uint32_t flags= 0);
77
DRIZZLED_LOCAL bool aggregate(DTCollation &dt, uint32_t flags= 0);
90
const char *derivation_name() const;
79
DRIZZLED_LOCAL const char *derivation_name() const;
99
88
Item **items, uint32_t nitems,
93
@note In Drizzle we have just one charset, so no conversion is required (though collation may).
103
95
Collect arguments' character sets together.
105
97
We allow to apply automatic character set conversion in some cases.
140
132
void my_coll_agg_error(Item** args, uint32_t count, const char *fname,
143
#endif /* DRIZZLED_DTCOLLATION_H */
135
} /* namespace drizzled */