~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/parser.h

  • Committer: Olaf van der Spek
  • Date: 2011-02-12 18:24:24 UTC
  • mto: (2167.1.2 build) (2172.1.4 build)
  • mto: This revision was merged to the branch mainline in revision 2168.
  • Revision ID: olafvdspek@gmail.com-20110212182424-kgnm9osi7qo97at2
casts

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
 
12
12
   You should have received a copy of the GNU General Public License
13
13
   along with this program; if not, write to the Free Software
14
 
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
 
14
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA */
15
15
 
16
16
#ifndef DRIZZLED_PARSER_H
17
17
#define DRIZZLED_PARSER_H
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>
69
70
#include <drizzled/statement/change_schema.h>
70
71
#include <drizzled/statement/check.h>
71
 
#include <drizzled/statement/checksum.h>
72
72
#include <drizzled/statement/commit.h>
73
73
#include <drizzled/statement/create_index.h>
74
74
#include <drizzled/statement/create_schema.h>
75
75
#include <drizzled/statement/create_table.h>
 
76
#include <drizzled/statement/create_table/like.h>
 
77
#include <drizzled/statement/create_table/select.h>
76
78
#include <drizzled/statement/delete.h>
77
79
#include <drizzled/statement/drop_index.h>
78
80
#include <drizzled/statement/drop_schema.h>
79
81
#include <drizzled/statement/drop_table.h>
80
82
#include <drizzled/statement/empty_query.h>
 
83
#include <drizzled/statement/execute.h>
81
84
#include <drizzled/statement/flush.h>
82
85
#include <drizzled/statement/insert.h>
83
86
#include <drizzled/statement/insert_select.h>
91
94
#include <drizzled/statement/rollback_to_savepoint.h>
92
95
#include <drizzled/statement/savepoint.h>
93
96
#include <drizzled/statement/select.h>
 
97
#include <drizzled/statement/show.h>
94
98
#include <drizzled/statement/set_option.h>
95
 
#include <drizzled/statement/show_create.h>
96
 
#include <drizzled/statement/show_create_schema.h>
97
99
#include <drizzled/statement/show_errors.h>
98
100
#include <drizzled/statement/show_warnings.h>
99
101
#include <drizzled/statement/start_transaction.h>
106
108
#include "drizzled/charset.h"
107
109
#include "drizzled/internal/m_string.h"
108
110
 
 
111
#include "drizzled/item/boolean.h"
 
112
 
 
113
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
namespace parser {
 
128
 
 
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);
 
137
 
 
138
 
 
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);
 
145
 
 
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);
 
148
 
 
149
void buildCreateFieldIdent(LEX *lex);
 
150
 
 
151
void storeAlterColumnPosition(LEX *lex, const char *position);
 
152
 
 
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);
 
156
 
 
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);
 
167
 
 
168
void buildKeyOnColumn(LEX *lex);
 
169
void buildAutoOnColumn(LEX *lex);
 
170
void buildPrimaryOnColumn(LEX *lex);
 
171
 
 
172
} // namespace parser
 
173
} // namespace drizzled
 
174
 
109
175
#endif /* DRIZZLED_PARSER_H */