~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/parser.h

  • Committer: Mark Atwood
  • Date: 2011-10-27 05:08:12 UTC
  • mfrom: (2445.1.11 rf)
  • Revision ID: me@mark.atwood.name-20111027050812-1icvs72lb0u4xdc4
mergeĀ lp:~olafvdspek/drizzle/refactor8

Show diffs side-by-side

added added

removed removed

Lines of Context:
13
13
   along with this program; if not, write to the Free Software
14
14
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
15
15
 
16
 
#ifndef DRIZZLED_PARSER_H
17
 
#define DRIZZLED_PARSER_H
 
16
#pragma once
18
17
 
 
18
#include <drizzled/charset.h>
 
19
#include <drizzled/error.h>
19
20
#include <drizzled/foreign_key.h>
20
 
#include <drizzled/lex_symbol.h>
 
21
#include <drizzled/function/bit/functions.h>
 
22
#include <drizzled/function/get_system_var.h>
21
23
#include <drizzled/function/locate.h>
 
24
#include <drizzled/function/set_user_var.h>
22
25
#include <drizzled/function/str/char.h>
23
26
#include <drizzled/function/str/collation.h>
 
27
#include <drizzled/function/str/concat.h>
24
28
#include <drizzled/function/str/insert.h>
25
29
#include <drizzled/function/str/left.h>
26
30
#include <drizzled/function/str/repeat.h>
43
47
#include <drizzled/function/time/timestamp_diff.h>
44
48
#include <drizzled/function/time/typecast.h>
45
49
#include <drizzled/function/time/year.h>
46
 
 
47
 
#include <drizzled/error.h>
48
 
#include <drizzled/nested_join.h>
49
 
#include <drizzled/sql_parse.h>
 
50
#include <drizzled/internal/m_string.h>
 
51
#include <drizzled/item/boolean.h>
 
52
#include <drizzled/item/cmpfunc.h>
50
53
#include <drizzled/item/copy_string.h>
51
 
#include <drizzled/item/cmpfunc.h>
52
 
#include <drizzled/item/uint.h>
53
 
#include <drizzled/item/null.h>
54
 
#include <drizzled/session.h>
55
 
#include <drizzled/item/func.h>
56
 
#include <drizzled/sql_base.h>
57
54
#include <drizzled/item/create.h>
58
55
#include <drizzled/item/default_value.h>
 
56
#include <drizzled/item/func.h>
59
57
#include <drizzled/item/insert_value.h>
 
58
#include <drizzled/item/null.h>
 
59
#include <drizzled/item/uint.h>
60
60
#include <drizzled/lex_string.h>
61
 
#include <drizzled/function/get_system_var.h>
62
 
#include <drizzled/thr_lock.h>
 
61
#include <drizzled/lex_symbol.h>
 
62
#include <drizzled/message/schema.pb.h>
63
63
#include <drizzled/message/table.pb.h>
64
 
#include <drizzled/message/schema.pb.h>
 
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>
65
71
#include <drizzled/statement.h>
66
72
#include <drizzled/statement/alter_schema.h>
67
73
#include <drizzled/statement/alter_table.h>
68
74
#include <drizzled/statement/analyze.h>
 
75
#include <drizzled/statement/catalog.h>
69
76
#include <drizzled/statement/change_schema.h>
70
77
#include <drizzled/statement/check.h>
71
78
#include <drizzled/statement/commit.h>
91
98
#include <drizzled/statement/rollback_to_savepoint.h>
92
99
#include <drizzled/statement/savepoint.h>
93
100
#include <drizzled/statement/select.h>
 
101
#include <drizzled/statement/set_option.h>
94
102
#include <drizzled/statement/show.h>
95
 
#include <drizzled/statement/set_option.h>
96
103
#include <drizzled/statement/show_errors.h>
97
104
#include <drizzled/statement/show_warnings.h>
98
105
#include <drizzled/statement/start_transaction.h>
99
106
#include <drizzled/statement/truncate.h>
100
107
#include <drizzled/statement/unlock_tables.h>
101
108
#include <drizzled/statement/update.h>
102
 
#include <drizzled/db.h>
103
 
#include "drizzled/global_charset_info.h"
104
 
#include "drizzled/pthread_globals.h"
105
 
#include "drizzled/charset.h"
106
 
#include "drizzled/internal/m_string.h"
107
 
 
108
 
#endif /* DRIZZLED_PARSER_H */
 
109
 
 
110
namespace drizzled {
 
111
namespace parser {
 
112
 
 
113
Item* handle_sql2003_note184_exception(Session*, Item* left, bool equal, Item *expr);
 
114
bool add_select_to_union_list(Session*, LEX*, bool is_union_distinct);
 
115
bool setup_select_in_parentheses(Session*, LEX*);
 
116
Item* reserved_keyword_function(Session*, const std::string &name, List<Item> *item_list);
 
117
void my_parse_error(Lex_input_stream*);
 
118
void my_parse_error(const char*);
 
119
bool check_reserved_words(str_ref);
 
120
void errorOn(Session*, const char *s);
 
121
 
 
122
 
 
123
bool buildOrderBy(LEX*);
 
124
void buildEngineOption(LEX*, const char *key, str_ref value);
 
125
void buildEngineOption(LEX*, const char *key, uint64_t value);
 
126
void buildSchemaOption(LEX*, const char *key, str_ref value);
 
127
void buildSchemaOption(LEX*, const char *key, uint64_t value);
 
128
void buildSchemaDefiner(LEX*, const identifier::User&);
 
129
bool checkFieldIdent(LEX*, str_ref schema_name, str_ref table_name);
 
130
 
 
131
Item *buildIdent(LEX*, str_ref schema_name, str_ref table_name, str_ref field_name);
 
132
Item *buildTableWild(LEX*, str_ref schema_name, str_ref table_name);
 
133
 
 
134
void buildCreateFieldIdent(LEX*);
 
135
void storeAlterColumnPosition(LEX*, const char *position);
 
136
 
 
137
bool buildCollation(LEX*, const charset_info_st *arg);
 
138
void buildKey(LEX*, Key::Keytype type_par, str_ref name_arg);
 
139
void buildForeignKey(LEX*, str_ref name_arg, Table_ident *table);
 
140
 
 
141
enum_field_types buildIntegerColumn(LEX*, enum_field_types final_type, const bool is_unsigned);
 
142
enum_field_types buildSerialColumn(LEX*);
 
143
enum_field_types buildVarcharColumn(LEX*, const char *length);
 
144
enum_field_types buildVarbinaryColumn(LEX*, const char *length);
 
145
enum_field_types buildBlobColumn(LEX*);
 
146
enum_field_types buildBooleanColumn(LEX*);
 
147
enum_field_types buildUuidColumn(LEX*);
 
148
enum_field_types buildIPv6Column(LEX*);
 
149
enum_field_types buildDoubleColumn(LEX*);
 
150
enum_field_types buildTimestampColumn(LEX*, const char *length);
 
151
enum_field_types buildDecimalColumn(LEX*);
 
152
 
 
153
void buildKeyOnColumn(LEX*);
 
154
void buildAutoOnColumn(LEX*);
 
155
void buildPrimaryOnColumn(LEX*);
 
156
void buildReplicationOption(LEX*, bool arg);
 
157
void buildAddAlterDropIndex(LEX*, const char *name, bool is_foreign_key= false);
 
158
 
 
159
} // namespace parser
 
160
} // namespace drizzled
 
161