~drizzle-trunk/drizzle/development

1285 by Brian Aker
Remove giant include header to its own file.
1
/* Copyright (C) 2000-2003 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 */
1285 by Brian Aker
Remove giant include header to its own file.
15
2234 by Brian Aker
Mass removal of ifdef/endif in favor of pragma once.
16
#pragma once
1285 by Brian Aker
Remove giant include header to its own file.
17
2154.2.24 by Brian Aker
Merge in all changes for current_session, etc.
18
#include <drizzled/charset.h>
19
#include <drizzled/error.h>
1285 by Brian Aker
Remove giant include header to its own file.
20
#include <drizzled/foreign_key.h>
2198.6.1 by Brian Aker
Add in an ANSI || operator.
21
#include <drizzled/function/bit/functions.h>
2154.2.24 by Brian Aker
Merge in all changes for current_session, etc.
22
#include <drizzled/function/get_system_var.h>
1285 by Brian Aker
Remove giant include header to its own file.
23
#include <drizzled/function/locate.h>
2154.2.24 by Brian Aker
Merge in all changes for current_session, etc.
24
#include <drizzled/function/set_user_var.h>
1285 by Brian Aker
Remove giant include header to its own file.
25
#include <drizzled/function/str/char.h>
26
#include <drizzled/function/str/collation.h>
2198.6.1 by Brian Aker
Add in an ANSI || operator.
27
#include <drizzled/function/str/concat.h>
1285 by Brian Aker
Remove giant include header to its own file.
28
#include <drizzled/function/str/insert.h>
29
#include <drizzled/function/str/left.h>
30
#include <drizzled/function/str/repeat.h>
31
#include <drizzled/function/str/replace.h>
32
#include <drizzled/function/str/right.h>
33
#include <drizzled/function/str/set_collation.h>
34
#include <drizzled/function/str/trim.h>
35
#include <drizzled/function/time/curdate.h>
36
#include <drizzled/function/time/date_add_interval.h>
37
#include <drizzled/function/time/dayofmonth.h>
38
#include <drizzled/function/time/extract.h>
39
#include <drizzled/function/time/hour.h>
40
#include <drizzled/function/time/microsecond.h>
41
#include <drizzled/function/time/minute.h>
42
#include <drizzled/function/time/month.h>
43
#include <drizzled/function/time/now.h>
44
#include <drizzled/function/time/quarter.h>
45
#include <drizzled/function/time/second.h>
46
#include <drizzled/function/time/sysdate_local.h>
47
#include <drizzled/function/time/timestamp_diff.h>
48
#include <drizzled/function/time/typecast.h>
49
#include <drizzled/function/time/year.h>
2154.2.24 by Brian Aker
Merge in all changes for current_session, etc.
50
#include <drizzled/internal/m_string.h>
51
#include <drizzled/item/boolean.h>
52
#include <drizzled/item/cmpfunc.h>
1285 by Brian Aker
Remove giant include header to its own file.
53
#include <drizzled/item/copy_string.h>
54
#include <drizzled/item/create.h>
55
#include <drizzled/item/default_value.h>
2154.2.24 by Brian Aker
Merge in all changes for current_session, etc.
56
#include <drizzled/item/func.h>
1285 by Brian Aker
Remove giant include header to its own file.
57
#include <drizzled/item/insert_value.h>
2154.2.24 by Brian Aker
Merge in all changes for current_session, etc.
58
#include <drizzled/item/null.h>
59
#include <drizzled/item/uint.h>
1285 by Brian Aker
Remove giant include header to its own file.
60
#include <drizzled/lex_string.h>
2154.2.24 by Brian Aker
Merge in all changes for current_session, etc.
61
#include <drizzled/lex_symbol.h>
62
#include <drizzled/message/schema.pb.h>
1285 by Brian Aker
Remove giant include header to its own file.
63
#include <drizzled/message/table.pb.h>
2154.2.24 by Brian Aker
Merge in all changes for current_session, etc.
64
#include <drizzled/nested_join.h>
65
#include <drizzled/pthread_globals.h>
66
#include <drizzled/select_dump.h>
67
#include <drizzled/select_dumpvar.h>
68
#include <drizzled/select_export.h>
69
#include <drizzled/sql_base.h>
70
#include <drizzled/sql_parse.h>
1285 by Brian Aker
Remove giant include header to its own file.
71
#include <drizzled/statement.h>
72
#include <drizzled/statement/alter_schema.h>
73
#include <drizzled/statement/alter_table.h>
74
#include <drizzled/statement/analyze.h>
2073.1.2 by Brian Aker
Basic DDL for catalog.
75
#include <drizzled/statement/catalog.h>
1285 by Brian Aker
Remove giant include header to its own file.
76
#include <drizzled/statement/change_schema.h>
77
#include <drizzled/statement/check.h>
78
#include <drizzled/statement/commit.h>
79
#include <drizzled/statement/create_index.h>
80
#include <drizzled/statement/create_schema.h>
81
#include <drizzled/statement/create_table.h>
2029.1.1 by Brian Aker
Merge in first pass.
82
#include <drizzled/statement/create_table/like.h>
83
#include <drizzled/statement/create_table/select.h>
1285 by Brian Aker
Remove giant include header to its own file.
84
#include <drizzled/statement/delete.h>
85
#include <drizzled/statement/drop_index.h>
86
#include <drizzled/statement/drop_schema.h>
87
#include <drizzled/statement/drop_table.h>
88
#include <drizzled/statement/empty_query.h>
1835.1.6 by Brian Aker
This patch returns dynamic SQL into the core (through SQL-Server syntax).
89
#include <drizzled/statement/execute.h>
1285 by Brian Aker
Remove giant include header to its own file.
90
#include <drizzled/statement/flush.h>
91
#include <drizzled/statement/insert.h>
92
#include <drizzled/statement/insert_select.h>
93
#include <drizzled/statement/kill.h>
94
#include <drizzled/statement/load.h>
95
#include <drizzled/statement/release_savepoint.h>
96
#include <drizzled/statement/rename_table.h>
97
#include <drizzled/statement/replace.h>
98
#include <drizzled/statement/replace_select.h>
99
#include <drizzled/statement/rollback.h>
100
#include <drizzled/statement/rollback_to_savepoint.h>
101
#include <drizzled/statement/savepoint.h>
102
#include <drizzled/statement/select.h>
2154.2.24 by Brian Aker
Merge in all changes for current_session, etc.
103
#include <drizzled/statement/set_option.h>
1874.2.2 by Brian Aker
What was once old, is now new again. Seperated out show from select.
104
#include <drizzled/statement/show.h>
1285 by Brian Aker
Remove giant include header to its own file.
105
#include <drizzled/statement/show_errors.h>
106
#include <drizzled/statement/show_warnings.h>
107
#include <drizzled/statement/start_transaction.h>
108
#include <drizzled/statement/truncate.h>
109
#include <drizzled/statement/unlock_tables.h>
110
#include <drizzled/statement/update.h>
2023.2.7 by Brian Aker
Create an Bool primtive type for item.
111
2096.1.14 by Brian Aker
Pull in more C code from parser.
112
namespace drizzled {
2096.1.15 by Brian Aker
Additional parser cleanup.
113
namespace parser {
114
2096.1.14 by Brian Aker
Pull in more C code from parser.
115
Item* handle_sql2003_note184_exception(Session *session, Item* left, bool equal, Item *expr);
116
bool add_select_to_union_list(Session *session, LEX *lex, bool is_union_distinct);
117
bool setup_select_in_parentheses(Session *session, LEX *lex);
118
Item* reserved_keyword_function(Session *session, const std::string &name, List<Item> *item_list);
2104.3.5 by Brian Aker
Fixed case where parser error message might be null.
119
void my_parse_error(Lex_input_stream *lip);
120
void my_parse_error(const char *message);
2096.1.15 by Brian Aker
Additional parser cleanup.
121
bool check_reserved_words(LEX_STRING *name);
2172.3.8 by Brian Aker
Modernize our call to the parser, no more casting required.
122
void errorOn(drizzled::Session *session, const char *s);
2114.4.9 by Brian Aker
Try not to pass session quite as often
123
124
125
bool buildOrderBy(LEX *lex);
126
void buildEngineOption(LEX *lex, const char *key, const LEX_STRING &value);
127
void buildEngineOption(LEX *lex, const char *key, uint64_t value);
128
void buildSchemaOption(LEX *lex, const char *key, const LEX_STRING &value);
129
void buildSchemaOption(LEX *lex, const char *key, uint64_t value);
2241.6.2 by Brian Aker
This adds the concept of a definer to a table definition.
130
void buildSchemaDefiner(LEX *lex, const LEX_STRING &value);
131
void buildSchemaDefiner(LEX *lex, const identifier::User &user);
2114.4.9 by Brian Aker
Try not to pass session quite as often
132
bool checkFieldIdent(LEX *lex, const LEX_STRING &schema_name, const LEX_STRING &table_name);
133
134
Item *buildIdent(LEX *lex, const LEX_STRING &schema_name, const LEX_STRING &table_name, const LEX_STRING &field_name);
135
Item *buildTableWild(LEX *lex, const LEX_STRING &schema_name, const LEX_STRING &table_name);
136
137
void buildCreateFieldIdent(LEX *lex);
2114.4.5 by Brian Aker
Remove duplicate code around ident check.
138
2137.1.13 by Brian Aker
Fix bad error in warnings/errors.
139
void storeAlterColumnPosition(LEX *lex, const char *position);
140
2254 by Brian Aker
Shift CHARSET_INFO to charset_info_st
141
bool buildCollation(LEX *lex, const charset_info_st *arg);
2148.5.5 by Brian Aker
buildKey for parser.
142
void buildKey(LEX *lex, Key::Keytype type_par, const lex_string_t &name_arg);
2148.5.6 by Brian Aker
Additional encapsulation.
143
void buildForeignKey(LEX *lex, const lex_string_t &name_arg, drizzled::Table_ident *table);
2148.5.4 by Brian Aker
Move over the collation test to a function outside of the parser.
144
2148.5.8 by Brian Aker
Move integer building into parser code file.
145
drizzled::enum_field_types buildIntegerColumn(LEX *lex, drizzled::enum_field_types final_type, const bool is_unsigned);
2148.5.9 by Brian Aker
Merge in column varchar build.
146
drizzled::enum_field_types buildSerialColumn(LEX *lex);
147
drizzled::enum_field_types buildVarcharColumn(LEX *lex, const char *length);
2148.5.10 by Brian Aker
Merge in timestamp build parser function.
148
drizzled::enum_field_types buildVarbinaryColumn(LEX *lex, const char *length);
149
drizzled::enum_field_types buildBlobColumn(LEX *lex);
150
drizzled::enum_field_types buildBooleanColumn(LEX *lex);
151
drizzled::enum_field_types buildUuidColumn(LEX *lex);
152
drizzled::enum_field_types buildDoubleColumn(LEX *lex);
153
drizzled::enum_field_types buildTimestampColumn(LEX *lex, const char *length);
2148.5.14 by Brian Aker
function for decimal to be pulled out of the parser.
154
drizzled::enum_field_types buildDecimalColumn(LEX *lex);
2148.5.8 by Brian Aker
Move integer building into parser code file.
155
2148.5.16 by Brian Aker
Adding build for unique column
156
void buildKeyOnColumn(LEX *lex);
2148.5.17 by Brian Aker
Merge up parser work for additional column builds.
157
void buildAutoOnColumn(LEX *lex);
158
void buildPrimaryOnColumn(LEX *lex);
2172.3.3 by Brian Aker
Abstract out the replication set.
159
void buildReplicationOption(LEX *lex, bool arg);
2172.3.4 by Brian Aker
Move out drop keys to parser method file.
160
void buildAddAlterDropIndex(LEX *lex, const char *name, bool is_foreign_key= false);
2148.5.16 by Brian Aker
Adding build for unique column
161
2096.1.14 by Brian Aker
Pull in more C code from parser.
162
} // namespace parser
163
} // namespace drizzled
164