~drizzle-trunk/drizzle/development

390.1.2 by Monty Taylor
Fixed copyright headers in drizzled/
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
 *
4
 *  Copyright (C) 2008 Sun Microsystems
5
 *
6
 *  This program is free software; you can redistribute it and/or modify
7
 *  it under the terms of the GNU General Public License as published by
8
 *  the Free Software Foundation; version 2 of the License.
9
 *
10
 *  This program is distributed in the hope that it will be useful,
11
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 *  GNU General Public License for more details.
14
 *
15
 *  You should have received a copy of the GNU General Public License
16
 *  along with this program; if not, write to the Free Software
17
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18
 */
243.1.15 by Jay Pipes
Added new non-server, non-client common includes header, new show.h and connect.h headers
19
20
/**
21
 * @file
520.6.4 by Monty Taylor
Moved thr_lock.h out of common_includes.
22
 *
243.1.15 by Jay Pipes
Added new non-server, non-client common includes header, new show.h and connect.h headers
23
 * Contains #includes and definitions that apply to ALL server-related
24
 * executables, including storage engine plugins.
25
 *
26
 * @details
27
 *
28
 * Previously, the mysql_priv.h file contained a number of conditional
319.1.1 by Grant Limberg
renamed all instances of MYSQL_ to DRIZZLE_
29
 * #ifdef DRIZZLE_SERVER blocks which made it very difficult to determine
243.1.15 by Jay Pipes
Added new non-server, non-client common includes header, new show.h and connect.h headers
30
 * which headers and definitions were actually necessary for plugins to 
31
 * include.  The file, and NOT mysql_priv.h, should now be the main included
32
 * header for storage engine plugins, as it contains all definitions and 
33
 * declarations needed by the plugin and nothing more.
34
 */
35
#ifndef DRIZZLE_SERVER_COMMON_INCLUDES_H
36
#define DRIZZLE_SERVER_COMMON_INCLUDES_H
37
390.1.6 by Monty Taylor
Oh dear god the changes. The changes. I'd tell you what they are, but I'd just be making stuff up. Suffice it to day it's mostly all around splitting files in libdrizzle into different files and removing interdepends. And whatever else I happened to see...
38
243.1.15 by Jay Pipes
Added new non-server, non-client common includes header, new show.h and connect.h headers
39
/* Cross-platform portability code and standard includes */
520.8.4 by Monty Taylor
Removed global sql_array.h.
40
#include <drizzled/global.h>
41
/* Lots of system-wide struct definitions like IO_CACHE,
42
   prototypes for all my_* functions */
43
#include <mysys/my_sys.h>
243.1.15 by Jay Pipes
Added new non-server, non-client common includes header, new show.h and connect.h headers
44
/* Custom C string functions */
45
#include <mystrings/m_string.h>
46
/* Defines for the storage engine handler -- i.e. HA_XXX defines */
47
#include <drizzled/base.h>			                /* Needed by field.h */
48
/* The <strong>INTERNAL</strong> plugin API - not the external, or public, server plugin API */
49
#include "sql_plugin.h"
50
/* Contains system-wide constants and #defines */
51
#include <drizzled/definitions.h>
52
/* System-wide common data structures */
53
#include <drizzled/structs.h>
54
55
56
/**
57
 * @TODO Move the following into a drizzled.h header?
58
 *
59
 * I feel that global variables and functions referencing them directly
60
 * and that are used only in the server should be separated out into 
61
 * a drizzled.h header file -- JRP
62
 */
63
64
264.1.6 by Monty Taylor
Merged from Jay.
65
extern const CHARSET_INFO *system_charset_info, *files_charset_info ;
66
extern const CHARSET_INFO *national_charset_info, *table_alias_charset;
243.1.15 by Jay Pipes
Added new non-server, non-client common includes header, new show.h and connect.h headers
67
520.6.7 by Monty Taylor
Moved a bunch of crap out of common_includes.
68
extern pthread_key_t THR_Session;
520.1.22 by Brian Aker
Second pass of thd cleanup
69
inline Session *_current_session(void)
243.1.15 by Jay Pipes
Added new non-server, non-client common includes header, new show.h and connect.h headers
70
{
520.1.21 by Brian Aker
THD -> Session rename
71
  return (Session *)pthread_getspecific(THR_Session);
243.1.15 by Jay Pipes
Added new non-server, non-client common includes header, new show.h and connect.h headers
72
}
520.1.22 by Brian Aker
Second pass of thd cleanup
73
#define current_session _current_session()
243.1.15 by Jay Pipes
Added new non-server, non-client common includes header, new show.h and connect.h headers
74
75
347 by Monty Taylor
Fixed a few build oopses for out-of-tree builds.
76
#include <drizzled/table_list.h>
243.1.15 by Jay Pipes
Added new non-server, non-client common includes header, new show.h and connect.h headers
77
/* Drizzle server data type class definitions */
78
#include <drizzled/field.h>
520.8.5 by Monty Taylor
Removed sql_string and sql_list from common_includes.
79
#include <drizzled/item.h>
80
81
82
#include <drizzled/sql_class.h>
243.1.15 by Jay Pipes
Added new non-server, non-client common includes header, new show.h and connect.h headers
83
390.1.6 by Monty Taylor
Oh dear god the changes. The changes. I'd tell you what they are, but I'd just be making stuff up. Suffice it to day it's mostly all around splitting files in libdrizzle into different files and removing interdepends. And whatever else I happened to see...
84
243.1.15 by Jay Pipes
Added new non-server, non-client common includes header, new show.h and connect.h headers
85
#endif /* DRIZZLE_SERVER_COMMON_INCLUDES_H */