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
75
* Opening modes for open_temporary_table and open_table_from_share
77
* @TODO Put this into an appropriate header. It is only needed in:
89
enum enum_parsing_place
98
enum enum_mysql_completiontype
100
ROLLBACK_RELEASE= -2,
102
ROLLBACK_AND_CHAIN= 7,
108
enum enum_check_fields
112
CHECK_FIELD_ERROR_FOR_NULL
124
ROW_TYPE_NOT_USED=-1,
134
enum column_format_type
136
COLUMN_FORMAT_TYPE_NOT_USED= -1,
137
COLUMN_FORMAT_TYPE_DEFAULT= 0,
138
COLUMN_FORMAT_TYPE_FIXED= 1,
139
COLUMN_FORMAT_TYPE_DYNAMIC= 2
144
Category of table found in the table share.
146
enum enum_table_category
151
TABLE_UNKNOWN_CATEGORY=0,
155
The table is visible only in the session.
157
- FLUSH TABLES WITH READ LOCK
158
- SET GLOBAL READ_ONLY = ON
159
do not apply to this table.
160
Note that LOCK Table t FOR READ/WRITE
161
can be used on temporary tables.
162
Temporary tables are not part of the table cache.
164
TABLE_CATEGORY_TEMPORARY=1,
168
These tables do honor:
169
- LOCK Table t FOR READ/WRITE
170
- FLUSH TABLES WITH READ LOCK
171
- SET GLOBAL READ_ONLY = ON
172
User tables are cached in the table cache.
174
TABLE_CATEGORY_USER=2,
177
Information schema tables.
178
These tables are an interface provided by the system
179
to inspect the system metadata.
180
These tables do *not* honor:
181
- LOCK Table t FOR READ/WRITE
182
- FLUSH TABLES WITH READ LOCK
183
- SET GLOBAL READ_ONLY = ON
184
as there is no point in locking explicitely
185
an INFORMATION_SCHEMA table.
186
Nothing is directly written to information schema tables.
187
Note that this value is not used currently,
188
since information schema tables are not shared,
189
but implemented as session specific temporary tables.
192
TODO: Fixing the performance issues of I_S will lead
193
to I_S tables in the table cache, which should use
196
TABLE_CATEGORY_INFORMATION
199
enum enum_enable_or_disable
207
enum enum_mark_columns
220
enum find_item_error_report_type
223
REPORT_EXCEPT_NOT_FOUND,
225
REPORT_EXCEPT_NON_UNIQUE,
226
IGNORE_EXCEPT_NON_UNIQUE
229
enum enum_schema_table_state
232
PROCESSED_BY_CREATE_SORT_INDEX,
233
PROCESSED_BY_JOIN_EXEC
240
NON_TRANSACTIONAL_TMP_TABLE,
241
TRANSACTIONAL_TMP_TABLE,
244
TMP_TABLE_FRM_FILE_ONLY
248
Values in this enum are used to indicate how a tables TIMESTAMP field
249
should be treated. It can be set to the current timestamp on insert or
251
WARNING: The values are used for bit operations. If you change the
252
enum, you must keep the bitwise relation of the values. For example:
253
(int) TIMESTAMP_AUTO_SET_ON_BOTH must be equal to
254
(int) TIMESTAMP_AUTO_SET_ON_INSERT | (int) TIMESTAMP_AUTO_SET_ON_UPDATE.
255
We use an enum here so that the debugger can display the value names.
257
enum timestamp_auto_set_type
259
TIMESTAMP_NO_AUTO_SET= 0,
260
TIMESTAMP_AUTO_SET_ON_INSERT= 1,
261
TIMESTAMP_AUTO_SET_ON_UPDATE= 2,
262
TIMESTAMP_AUTO_SET_ON_BOTH= 3
265
enum enum_ha_read_modes
275
enum enum_tx_isolation
277
ISO_READ_UNCOMMITTED,
284
enum SHOW_COMP_OPTION
292
When a command is added here, be sure it's also added in mysqld.cc
293
in "struct show_var_st status_vars[]= {" ...
295
If the command returns a result set or is not allowed in stored
296
functions or triggers, please also make sure that
297
sp_get_flags_for_command (sp_head.cc) returns proper flags for the
301
enum enum_sql_command {
308
SQLCOM_INSERT_SELECT,
313
SQLCOM_SHOW_DATABASES,
317
SQLCOM_SHOW_VARIABLES,
319
SQLCOM_SHOW_ENGINE_STATUS,
320
SQLCOM_SHOW_ENGINE_MUTEX,
321
SQLCOM_SHOW_PROCESSLIST,
323
SQLCOM_SHOW_CREATE_DB,
324
SQLCOM_SHOW_TABLE_STATUS,
327
SQLCOM_UNLOCK_TABLES,
333
SQLCOM_REPLACE_SELECT,
340
SQLCOM_ROLLBACK_TO_SAVEPOINT,
343
SQLCOM_RELEASE_SAVEPOINT,
346
SQLCOM_SHOW_OPEN_TABLES,
352
When a command is added here, be sure it's also added in mysqld.cc
353
in "struct show_var_st status_vars[]= {" ...
355
/* This should be the last !!! */
367
#endif /* DRIZZLED_ENUM_H */