66
66
#include <drizzled/statement/alter_schema.h>
67
67
#include <drizzled/statement/alter_table.h>
68
68
#include <drizzled/statement/analyze.h>
69
#include <drizzled/statement/catalog.h>
70
69
#include <drizzled/statement/change_schema.h>
71
70
#include <drizzled/statement/check.h>
72
71
#include <drizzled/statement/commit.h>
73
72
#include <drizzled/statement/create_index.h>
74
73
#include <drizzled/statement/create_schema.h>
75
74
#include <drizzled/statement/create_table.h>
76
#include <drizzled/statement/create_table/like.h>
77
#include <drizzled/statement/create_table/select.h>
78
75
#include <drizzled/statement/delete.h>
79
76
#include <drizzled/statement/drop_index.h>
80
77
#include <drizzled/statement/drop_schema.h>
108
105
#include "drizzled/charset.h"
109
106
#include "drizzled/internal/m_string.h"
111
#include "drizzled/item/boolean.h"
129
Item* handle_sql2003_note184_exception(Session *session, Item* left, bool equal, Item *expr);
130
bool add_select_to_union_list(Session *session, LEX *lex, bool is_union_distinct);
131
bool setup_select_in_parentheses(Session *session, LEX *lex);
132
Item* reserved_keyword_function(Session *session, const std::string &name, List<Item> *item_list);
133
void my_parse_error(Lex_input_stream *lip);
134
void my_parse_error(const char *message);
135
bool check_reserved_words(LEX_STRING *name);
136
void errorOn(const char *s);
139
bool buildOrderBy(LEX *lex);
140
void buildEngineOption(LEX *lex, const char *key, const LEX_STRING &value);
141
void buildEngineOption(LEX *lex, const char *key, uint64_t value);
142
void buildSchemaOption(LEX *lex, const char *key, const LEX_STRING &value);
143
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);
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);
149
void buildCreateFieldIdent(LEX *lex);
151
void storeAlterColumnPosition(LEX *lex, const char *position);
153
bool buildCollation(LEX *lex, const CHARSET_INFO *arg);
154
void buildKey(LEX *lex, Key::Keytype type_par, const lex_string_t &name_arg);
155
void buildForeignKey(LEX *lex, const lex_string_t &name_arg, drizzled::Table_ident *table);
157
drizzled::enum_field_types buildIntegerColumn(LEX *lex, drizzled::enum_field_types final_type, const bool is_unsigned);
158
drizzled::enum_field_types buildSerialColumn(LEX *lex);
159
drizzled::enum_field_types buildVarcharColumn(LEX *lex, const char *length);
160
drizzled::enum_field_types buildVarbinaryColumn(LEX *lex, const char *length);
161
drizzled::enum_field_types buildBlobColumn(LEX *lex);
162
drizzled::enum_field_types buildBooleanColumn(LEX *lex);
163
drizzled::enum_field_types buildUuidColumn(LEX *lex);
164
drizzled::enum_field_types buildDoubleColumn(LEX *lex);
165
drizzled::enum_field_types buildTimestampColumn(LEX *lex, const char *length);
166
drizzled::enum_field_types buildDecimalColumn(LEX *lex);
168
void buildKeyOnColumn(LEX *lex);
169
void buildAutoOnColumn(LEX *lex);
170
void buildPrimaryOnColumn(LEX *lex);
172
} // namespace parser
173
} // namespace drizzled
175
108
#endif /* DRIZZLED_PARSER_H */