1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
4
* Copyright (C) 2009 Sun Microsystems
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2 of the License, or
9
* (at your option) any later version.
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
#ifndef DRIZZLED_ENUM_H
22
#define DRIZZLED_ENUM_H
27
QT_ORDINARY -- ordinary SQL query.
28
QT_IS -- SQL query to be shown in INFORMATION_SCHEMA (in utf8 and without
29
character set introducers).
33
Move this out of here once Stew's done with UDF breakout. The following headers need it:
35
sql_lex.h --> included by session.h
53
* @TODO Move to a separate header?
55
* It's needed by item.h and field.h, which are both inter-dependent
56
* and contain forward declarations of many structs/classes in the
59
* What is needed is a separate header file that is included
60
* by *both* item.h and field.h to resolve inter-dependencies
62
* But, probably want to hold off on this until Stew finished the UDF cleanup
66
DERIVATION_IGNORABLE= 5,
67
DERIVATION_COERCIBLE= 4,
68
DERIVATION_SYSCONST= 3,
69
DERIVATION_IMPLICIT= 2,
71
DERIVATION_EXPLICIT= 0
74
enum enum_parsing_place
83
enum enum_mysql_completiontype
87
ROLLBACK_AND_CHAIN= 7,
93
enum enum_check_fields
97
CHECK_FIELD_ERROR_FOR_NULL
109
ROW_TYPE_NOT_USED=-1,
119
enum column_format_type
121
COLUMN_FORMAT_TYPE_NOT_USED= -1,
122
COLUMN_FORMAT_TYPE_DEFAULT= 0,
123
COLUMN_FORMAT_TYPE_FIXED= 1,
124
COLUMN_FORMAT_TYPE_DYNAMIC= 2
129
Category of table found in the table share.
131
enum enum_table_category
136
TABLE_UNKNOWN_CATEGORY=0,
140
The table is visible only in the session.
142
- FLUSH TABLES WITH READ LOCK
143
- SET GLOBAL READ_ONLY = ON
144
do not apply to this table.
145
Note that LOCK Table t FOR READ/WRITE
146
can be used on temporary tables.
147
Temporary tables are not part of the table cache.
149
TABLE_CATEGORY_TEMPORARY=1,
153
These tables do honor:
154
- LOCK Table t FOR READ/WRITE
155
- FLUSH TABLES WITH READ LOCK
156
- SET GLOBAL READ_ONLY = ON
157
User tables are cached in the table cache.
159
TABLE_CATEGORY_USER=2,
162
Information schema tables.
163
These tables are an interface provided by the system
164
to inspect the system metadata.
165
These tables do *not* honor:
166
- LOCK Table t FOR READ/WRITE
167
- FLUSH TABLES WITH READ LOCK
168
- SET GLOBAL READ_ONLY = ON
169
as there is no point in locking explicitely
170
an INFORMATION_SCHEMA table.
171
Nothing is directly written to information schema tables.
172
Note that this value is not used currently,
173
since information schema tables are not shared,
174
but implemented as session specific temporary tables.
177
TODO: Fixing the performance issues of I_S will lead
178
to I_S tables in the table cache, which should use
181
TABLE_CATEGORY_INFORMATION
184
enum enum_enable_or_disable
192
enum enum_mark_columns
205
enum find_item_error_report_type
208
REPORT_EXCEPT_NOT_FOUND,
210
REPORT_EXCEPT_NON_UNIQUE,
211
IGNORE_EXCEPT_NON_UNIQUE
214
enum enum_schema_table_state
217
PROCESSED_BY_CREATE_SORT_INDEX,
218
PROCESSED_BY_JOIN_EXEC
225
NON_TRANSACTIONAL_TMP_TABLE,
226
TRANSACTIONAL_TMP_TABLE,
232
Values in this enum are used to indicate how a tables TIMESTAMP field
233
should be treated. It can be set to the current timestamp on insert or
235
WARNING: The values are used for bit operations. If you change the
236
enum, you must keep the bitwise relation of the values. For example:
237
(int) TIMESTAMP_AUTO_SET_ON_BOTH must be equal to
238
(int) TIMESTAMP_AUTO_SET_ON_INSERT | (int) TIMESTAMP_AUTO_SET_ON_UPDATE.
239
We use an enum here so that the debugger can display the value names.
241
enum timestamp_auto_set_type
243
TIMESTAMP_NO_AUTO_SET= 0,
244
TIMESTAMP_AUTO_SET_ON_INSERT= 1,
245
TIMESTAMP_AUTO_SET_ON_UPDATE= 2,
246
TIMESTAMP_AUTO_SET_ON_BOTH= 3
249
enum enum_ha_read_modes
259
enum enum_tx_isolation
261
ISO_READ_UNCOMMITTED,
268
enum SHOW_COMP_OPTION
276
When a command is added here, be sure it's also added in mysqld.cc
277
in "struct show_var_st status_vars[]= {" ...
279
If the command returns a result set or is not allowed in stored
280
functions or triggers, please also make sure that
281
sp_get_flags_for_command (sp_head.cc) returns proper flags for the
285
enum enum_sql_command {
292
SQLCOM_INSERT_SELECT,
297
SQLCOM_SHOW_DATABASES,
301
SQLCOM_SHOW_VARIABLES,
303
SQLCOM_SHOW_ENGINE_STATUS,
304
SQLCOM_SHOW_ENGINE_MUTEX,
305
SQLCOM_SHOW_PROCESSLIST,
307
SQLCOM_SHOW_CREATE_DB,
308
SQLCOM_SHOW_TABLE_STATUS,
311
SQLCOM_UNLOCK_TABLES,
317
SQLCOM_REPLACE_SELECT,
324
SQLCOM_ROLLBACK_TO_SAVEPOINT,
327
SQLCOM_RELEASE_SAVEPOINT,
330
SQLCOM_SHOW_OPEN_TABLES,
336
When a command is added here, be sure it's also added in mysqld.cc
337
in "struct show_var_st status_vars[]= {" ...
339
/* This should be the last !!! */
351
#endif /* DRIZZLED_ENUM_H */