~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/dtcollation.h

  • Committer: Olaf van der Spek
  • Date: 2011-02-12 18:24:24 UTC
  • mto: (2167.1.2 build) (2172.1.4 build)
  • mto: This revision was merged to the branch mainline in revision 2168.
  • Revision ID: olafvdspek@gmail.com-20110212182424-kgnm9osi7qo97at2
casts

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
3
 *
4
 
 *  Copyright (C) 2008 Sun Microsystems
 
4
 *  Copyright (C) 2008 Sun Microsystems, Inc.
5
5
 *
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
20
20
#ifndef DRIZZLED_DTCOLLATION_H
21
21
#define DRIZZLED_DTCOLLATION_H
22
22
 
23
 
#include <drizzled/definitions.h>
 
23
#include "drizzled/definitions.h"
 
24
#include "drizzled/visibility.h"
24
25
 
25
26
namespace drizzled
26
27
{
29
30
typedef struct charset_info_st CHARSET_INFO;
30
31
 
31
32
 
32
 
class DTCollation {
 
33
class DRIZZLED_API DTCollation
 
34
{
33
35
public:
34
36
  const CHARSET_INFO *collation;
35
37
  enum Derivation derivation;
36
38
 
37
 
  DTCollation();
38
 
  DTCollation(const CHARSET_INFO * const collation_arg,
39
 
              Derivation derivation_arg);
 
39
  DRIZZLED_LOCAL DTCollation();
 
40
  DRIZZLED_LOCAL DTCollation(const CHARSET_INFO * const collation_arg,
 
41
                             Derivation derivation_arg);
40
42
  void set(DTCollation &dt);
41
43
  void set(const CHARSET_INFO * const collation_arg,
42
44
           Derivation derivation_arg);
80
82
  @endcode
81
83
*/
82
84
 
83
 
  bool aggregate(DTCollation &dt, uint32_t flags= 0);
 
85
  DRIZZLED_LOCAL bool aggregate(DTCollation &dt, uint32_t flags= 0);
84
86
 
85
 
  const char *derivation_name() const;
 
87
  DRIZZLED_LOCAL const char *derivation_name() const;
86
88
 
87
89
};
88
90
 
94
96
                                        Item **items, uint32_t nitems,
95
97
                                        uint32_t flags);
96
98
 
97
 
/**
 
99
/*
 
100
 
 
101
 @note In Drizzle we have just one charset, so no conversion is required (though collation may).
 
102
 
98
103
  Collect arguments' character sets together.
99
104
 
100
105
  We allow to apply automatic character set conversion in some cases.