~drizzle-trunk/drizzle/development

1 by brian
clean slate
1
/* Copyright (C) 2000 MySQL AB
2
3
   This program is free software; you can redistribute it and/or modify
4
   it under the terms of the GNU General Public License as published by
5
   the Free Software Foundation; version 2 of the License.
6
7
   This program is distributed in the hope that it will be useful,
8
   but WITHOUT ANY WARRANTY; without even the implied warranty of
9
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10
   GNU General Public License for more details.
11
12
   You should have received a copy of the GNU General Public License
13
   along with this program; if not, write to the Free Software
1802.10.2 by Monty Taylor
Update all of the copyright headers to include the correct address.
14
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
1 by brian
clean slate
15
16
1241.9.57 by Monty Taylor
Oy. Bigger change than I normally like - but this stuff is all intertwined.
17
#ifndef DRIZZLED_TYPELIB_H
18
#define DRIZZLED_TYPELIB_H
1 by brian
clean slate
19
2173.2.1 by Monty Taylor
Fixes incorrect usage of include
20
#include <drizzled/global_charset_info.h>
21
#include <drizzled/memory/root.h>
1 by brian
clean slate
22
1280.1.10 by Monty Taylor
Put everything in drizzled into drizzled namespace.
23
namespace drizzled
24
{
25
2151.5.1 by Olaf van der Spek
Make class of TYPELIB
26
typedef struct st_typelib 
27
{
28
public:
2151.5.3 by Olaf van der Spek
Make class of TYPELIB
29
  st_typelib *copy_typelib(memory::Root *root) const;
2151.5.1 by Olaf van der Spek
Make class of TYPELIB
30
  int find_type_or_exit(const char *x, const char *option) const;
2151.5.3 by Olaf van der Spek
Make class of TYPELIB
31
  int find_type(const char *x, unsigned int full_name) const;
2151.5.2 by Olaf van der Spek
Make class of TYPELIB
32
  int find_type(char *x, unsigned int full_name) const;
2151.5.3 by Olaf van der Spek
Make class of TYPELIB
33
  uint64_t find_typeset(const char *x, int *error_position) const;
34
  const char *get_type(unsigned int nr) const;
35
  void make_type(char *to, unsigned int nr) const;
2151.5.1 by Olaf van der Spek
Make class of TYPELIB
36
2151.5.4 by Olaf van der Spek
Move strfunc functions into TYPELIB class
37
  uint64_t find_set(const char *x, uint32_t length, const CHARSET_INFO *cs,
38
                    char **err_pos, uint32_t *err_len, bool *set_warning) const;
39
  uint32_t find_type(const char *find, uint32_t length, bool part_match) const;
40
  uint32_t find_type2(const char *find, uint32_t length, const CHARSET_INFO *cs) const;
41
2151.5.1 by Olaf van der Spek
Make class of TYPELIB
42
  unsigned int count;
43
  const char *name;
1 by brian
clean slate
44
  const char **type_names;
45
  unsigned int *type_lengths;
46
} TYPELIB;
47
1280.1.10 by Monty Taylor
Put everything in drizzled into drizzled namespace.
48
} /* namespace drizzled */
398.1.9 by Monty Taylor
Cleaned up stuff out of global.h.
49
1241.9.57 by Monty Taylor
Oy. Bigger change than I normally like - but this stuff is all intertwined.
50
#endif /* DRIZZLED_TYPELIB_H */