18 #include <drizzled/charset.h>
19 #include <drizzled/error.h>
20 #include <drizzled/foreign_key.h>
21 #include <drizzled/function/bit/functions.h>
22 #include <drizzled/function/get_system_var.h>
23 #include <drizzled/function/locate.h>
24 #include <drizzled/function/set_user_var.h>
25 #include <drizzled/function/str/char.h>
26 #include <drizzled/function/str/collation.h>
27 #include <drizzled/function/str/concat.h>
28 #include <drizzled/function/str/insert.h>
29 #include <drizzled/function/str/left.h>
30 #include <drizzled/function/str/repeat.h>
31 #include <drizzled/function/str/replace.h>
32 #include <drizzled/function/str/right.h>
33 #include <drizzled/function/str/set_collation.h>
34 #include <drizzled/function/str/trim.h>
35 #include <drizzled/function/time/curdate.h>
36 #include <drizzled/function/time/curtime.h>
37 #include <drizzled/function/time/date_add_interval.h>
38 #include <drizzled/function/time/dayofmonth.h>
39 #include <drizzled/function/time/extract.h>
40 #include <drizzled/function/time/hour.h>
41 #include <drizzled/function/time/microsecond.h>
42 #include <drizzled/function/time/minute.h>
43 #include <drizzled/function/time/month.h>
44 #include <drizzled/function/time/now.h>
45 #include <drizzled/function/time/quarter.h>
46 #include <drizzled/function/time/second.h>
47 #include <drizzled/function/time/sysdate_local.h>
48 #include <drizzled/function/time/timestamp_diff.h>
49 #include <drizzled/function/time/typecast.h>
50 #include <drizzled/function/time/year.h>
51 #include <drizzled/internal/m_string.h>
52 #include <drizzled/item/boolean.h>
53 #include <drizzled/item/cmpfunc.h>
54 #include <drizzled/item/copy_string.h>
55 #include <drizzled/item/create.h>
56 #include <drizzled/item/default_value.h>
57 #include <drizzled/item/func.h>
58 #include <drizzled/item/insert_value.h>
59 #include <drizzled/item/null.h>
60 #include <drizzled/item/uint.h>
61 #include <drizzled/lex_string.h>
62 #include <drizzled/lex_symbol.h>
63 #include <drizzled/message/schema.pb.h>
64 #include <drizzled/message/table.pb.h>
65 #include <drizzled/nested_join.h>
66 #include <drizzled/pthread_globals.h>
67 #include <drizzled/select_dump.h>
68 #include <drizzled/select_dumpvar.h>
69 #include <drizzled/select_export.h>
70 #include <drizzled/sql_base.h>
71 #include <drizzled/sql_parse.h>
72 #include <drizzled/statement.h>
73 #include <drizzled/statement/alter_schema.h>
74 #include <drizzled/statement/alter_table.h>
75 #include <drizzled/statement/analyze.h>
76 #include <drizzled/statement/catalog.h>
77 #include <drizzled/statement/change_schema.h>
78 #include <drizzled/statement/check.h>
79 #include <drizzled/statement/commit.h>
80 #include <drizzled/statement/create_index.h>
81 #include <drizzled/statement/create_schema.h>
82 #include <drizzled/statement/create_table.h>
83 #include <drizzled/statement/delete.h>
84 #include <drizzled/statement/drop_index.h>
85 #include <drizzled/statement/drop_schema.h>
86 #include <drizzled/statement/drop_table.h>
87 #include <drizzled/statement/empty_query.h>
88 #include <drizzled/statement/execute.h>
89 #include <drizzled/statement/flush.h>
90 #include <drizzled/statement/insert.h>
91 #include <drizzled/statement/insert_select.h>
92 #include <drizzled/statement/kill.h>
93 #include <drizzled/statement/load.h>
94 #include <drizzled/statement/release_savepoint.h>
95 #include <drizzled/statement/rename_table.h>
96 #include <drizzled/statement/replace.h>
97 #include <drizzled/statement/replace_select.h>
98 #include <drizzled/statement/rollback.h>
99 #include <drizzled/statement/rollback_to_savepoint.h>
100 #include <drizzled/statement/savepoint.h>
101 #include <drizzled/statement/select.h>
102 #include <drizzled/statement/set_option.h>
103 #include <drizzled/statement/show.h>
104 #include <drizzled/statement/show_errors.h>
105 #include <drizzled/statement/show_warnings.h>
106 #include <drizzled/statement/start_transaction.h>
107 #include <drizzled/statement/truncate.h>
108 #include <drizzled/statement/unlock_tables.h>
109 #include <drizzled/statement/update.h>
114 Item* handle_sql2003_note184_exception(Session*, Item* left,
bool equal, Item *expr);
115 bool add_select_to_union_list(Session*, LEX*,
bool is_union_distinct);
116 bool setup_select_in_parentheses(Session*, LEX*);
117 Item* reserved_keyword_function(Session*,
const std::string &name, List<Item> *item_list);
118 void my_parse_error(Lex_input_stream*);
119 void my_parse_error(
const char*);
120 bool check_reserved_words(
str_ref);
121 void errorOn(Session*,
const char *s);
124 bool buildOrderBy(LEX*);
125 void buildEngineOption(LEX*,
const char *key,
str_ref value);
126 void buildEngineOption(LEX*,
const char *key, uint64_t value);
127 void buildSchemaOption(LEX*,
const char *key,
str_ref value);
128 void buildSchemaOption(LEX*,
const char *key, uint64_t value);
129 void buildSchemaDefiner(LEX*,
const identifier::User&);
130 bool checkFieldIdent(LEX*,
str_ref schema_name,
str_ref table_name);
133 Item *buildTableWild(LEX*,
str_ref schema_name,
str_ref table_name);
135 void buildCreateFieldIdent(LEX*);
136 void storeAlterColumnPosition(LEX*,
const char *position);
138 bool buildCollation(LEX*,
const charset_info_st *arg);
139 void buildKey(LEX*, Key::Keytype type_par,
str_ref name_arg);
140 void buildForeignKey(LEX*,
str_ref name_arg, Table_ident *table);
142 enum_field_types buildIntegerColumn(LEX*, enum_field_types final_type,
const bool is_unsigned);
143 enum_field_types buildSerialColumn(LEX*);
144 enum_field_types buildVarcharColumn(LEX*,
const char *length);
145 enum_field_types buildVarbinaryColumn(LEX*,
const char *length);
146 enum_field_types buildBlobColumn(LEX*);
147 enum_field_types buildBooleanColumn(LEX*);
148 enum_field_types buildUuidColumn(LEX*);
149 enum_field_types buildIPv6Column(LEX*);
150 enum_field_types buildDoubleColumn(LEX*);
151 enum_field_types buildTimestampColumn(LEX*,
const char *length);
152 enum_field_types buildDecimalColumn(LEX*);
154 void buildKeyOnColumn(LEX*);
155 void buildAutoOnColumn(LEX*);
156 void buildPrimaryOnColumn(LEX*);
157 void buildReplicationOption(LEX*,
bool arg);
158 void buildAddAlterDropIndex(LEX*,
const char *name,
bool is_foreign_key=
false);
TODO: Rename this file - func.h is stupid.