/* Copyright (C) 2000-2003 MySQL AB This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ #ifndef DRIZZLED_PARSER_H #define DRIZZLED_PARSER_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "drizzled/global_charset_info.h" #include "drizzled/pthread_globals.h" #include "drizzled/charset.h" #include "drizzled/internal/m_string.h" #include "drizzled/item/boolean.h" namespace drizzled { class Session; class Table_ident; class Item; class Item_num; namespace item { class Boolean; class True; class False; } namespace parser { Item* handle_sql2003_note184_exception(Session *session, Item* left, bool equal, Item *expr); bool add_select_to_union_list(Session *session, LEX *lex, bool is_union_distinct); bool setup_select_in_parentheses(Session *session, LEX *lex); Item* reserved_keyword_function(Session *session, const std::string &name, List *item_list); void my_parse_error(Lex_input_stream *lip); void my_parse_error(const char *message); bool check_reserved_words(LEX_STRING *name); void errorOn(const char *s); bool buildOrderBy(LEX *lex); void buildEngineOption(LEX *lex, const char *key, const LEX_STRING &value); void buildEngineOption(LEX *lex, const char *key, uint64_t value); void buildSchemaOption(LEX *lex, const char *key, const LEX_STRING &value); void buildSchemaOption(LEX *lex, const char *key, uint64_t value); bool checkFieldIdent(LEX *lex, const LEX_STRING &schema_name, const LEX_STRING &table_name); Item *buildIdent(LEX *lex, const LEX_STRING &schema_name, const LEX_STRING &table_name, const LEX_STRING &field_name); Item *buildTableWild(LEX *lex, const LEX_STRING &schema_name, const LEX_STRING &table_name); void buildCreateFieldIdent(LEX *lex); } // namespace parser } // namespace drizzled #endif /* DRIZZLED_PARSER_H */