~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/parser.h

  • Committer: Mark Atwood
  • Date: 2011-08-12 04:08:33 UTC
  • mfrom: (2385.2.17 refactor5)
  • Revision ID: me@mark.atwood.name-20110812040833-u6j85nc6ahuc0dtz
mergeĀ lp:~olafvdspek/drizzle/refactor5

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
 
19
18
#include <drizzled/charset.h>
20
19
#include <drizzled/error.h>
21
20
#include <drizzled/foreign_key.h>
 
21
#include <drizzled/function/bit/functions.h>
22
22
#include <drizzled/function/get_system_var.h>
23
23
#include <drizzled/function/locate.h>
24
24
#include <drizzled/function/set_user_var.h>
25
25
#include <drizzled/function/str/char.h>
26
26
#include <drizzled/function/str/collation.h>
 
27
#include <drizzled/function/str/concat.h>
27
28
#include <drizzled/function/str/insert.h>
28
29
#include <drizzled/function/str/left.h>
29
30
#include <drizzled/function/str/repeat.h>
46
47
#include <drizzled/function/time/timestamp_diff.h>
47
48
#include <drizzled/function/time/typecast.h>
48
49
#include <drizzled/function/time/year.h>
49
 
#include <drizzled/global_charset_info.h>
50
50
#include <drizzled/internal/m_string.h>
51
51
#include <drizzled/item/boolean.h>
52
52
#include <drizzled/item/cmpfunc.h>
66
66
#include <drizzled/select_dump.h>
67
67
#include <drizzled/select_dumpvar.h>
68
68
#include <drizzled/select_export.h>
69
 
#include <drizzled/session.h>
70
69
#include <drizzled/sql_base.h>
71
70
#include <drizzled/sql_parse.h>
72
71
#include <drizzled/statement.h>
80
79
#include <drizzled/statement/create_index.h>
81
80
#include <drizzled/statement/create_schema.h>
82
81
#include <drizzled/statement/create_table.h>
83
 
#include <drizzled/statement/create_table/like.h>
84
 
#include <drizzled/statement/create_table/select.h>
85
82
#include <drizzled/statement/delete.h>
86
83
#include <drizzled/statement/drop_index.h>
87
84
#include <drizzled/statement/drop_schema.h>
111
108
#include <drizzled/statement/update.h>
112
109
 
113
110
namespace drizzled {
114
 
 
115
 
class Session;
116
 
class Table_ident;
117
 
class Item;
118
 
class Item_num;
119
 
 
120
 
namespace item
121
 
{
122
 
class Boolean;
123
 
class True;
124
 
class False;
125
 
}
126
 
 
127
111
namespace parser {
128
112
 
129
113
Item* handle_sql2003_note184_exception(Session *session, Item* left, bool equal, Item *expr);
132
116
Item* reserved_keyword_function(Session *session, const std::string &name, List<Item> *item_list);
133
117
void my_parse_error(Lex_input_stream *lip);
134
118
void my_parse_error(const char *message);
135
 
bool check_reserved_words(LEX_STRING *name);
 
119
bool check_reserved_words(lex_string_t *name);
136
120
void errorOn(drizzled::Session *session, const char *s);
137
121
 
138
122
 
139
123
bool buildOrderBy(LEX *lex);
140
 
void buildEngineOption(LEX *lex, const char *key, const LEX_STRING &value);
 
124
void buildEngineOption(LEX *lex, const char *key, const lex_string_t &value);
141
125
void buildEngineOption(LEX *lex, const char *key, uint64_t value);
142
 
void buildSchemaOption(LEX *lex, const char *key, const LEX_STRING &value);
 
126
void buildSchemaOption(LEX *lex, const char *key, const lex_string_t &value);
143
127
void buildSchemaOption(LEX *lex, const char *key, uint64_t value);
144
 
bool checkFieldIdent(LEX *lex, const LEX_STRING &schema_name, const LEX_STRING &table_name);
 
128
void buildSchemaDefiner(LEX *lex, const lex_string_t &value);
 
129
void buildSchemaDefiner(LEX *lex, const identifier::User &user);
 
130
bool checkFieldIdent(LEX *lex, const lex_string_t &schema_name, const lex_string_t &table_name);
145
131
 
146
 
Item *buildIdent(LEX *lex, const LEX_STRING &schema_name, const LEX_STRING &table_name, const LEX_STRING &field_name);
147
 
Item *buildTableWild(LEX *lex, const LEX_STRING &schema_name, const LEX_STRING &table_name);
 
132
Item *buildIdent(LEX *lex, const lex_string_t &schema_name, const lex_string_t &table_name, const lex_string_t &field_name);
 
133
Item *buildTableWild(LEX *lex, const lex_string_t &schema_name, const lex_string_t &table_name);
148
134
 
149
135
void buildCreateFieldIdent(LEX *lex);
150
136
 
151
137
void storeAlterColumnPosition(LEX *lex, const char *position);
152
138
 
153
 
bool buildCollation(LEX *lex, const CHARSET_INFO *arg);
 
139
bool buildCollation(LEX *lex, const charset_info_st *arg);
154
140
void buildKey(LEX *lex, Key::Keytype type_par, const lex_string_t &name_arg);
155
141
void buildForeignKey(LEX *lex, const lex_string_t &name_arg, drizzled::Table_ident *table);
156
142
 
174
160
} // namespace parser
175
161
} // namespace drizzled
176
162
 
177
 
#endif /* DRIZZLED_PARSER_H */