1 /* Copyright (c) 2016, 2021, Oracle and/or its affiliates.
2 
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License, version 2.0,
5 as published by the Free Software Foundation.
6 
7 This program is also distributed with certain software (including
8 but not limited to OpenSSL) that is licensed under separate terms,
9 as designated in a particular file or component or in included license
10 documentation.  The authors of MySQL hereby grant you an additional
11 permission to link the program and your derivative works with the
12 separately licensed software that they have included with MySQL.
13 
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 GNU General Public License, version 2.0, for more details.
18 
19 You should have received a copy of the GNU General Public License
20 along with this program; if not, write to the Free Software
21 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA */
22 
23 #ifndef _mysql_sql_command_h
24 #define _mysql_sql_command_h
25 
26 /*
27   @enum  enum_sql_command
28   @brief SQL Commands
29 
30          SQL Command is resolved during SQL parsing and assigned to the Lex
31          object, accessible from the THD.
32 
33          When a command is added here, be sure it's also added in mysqld.cc
34          in "struct show_var_st status_vars[]= {" ...
35 
36          If the command returns a result set or is not allowed in stored
37          functions or triggers, please also make sure that
38          sp_get_flags_for_command (sp_head.cc) returns proper flags for the
39          added SQLCOM_.
40 */
41 enum enum_sql_command {
42   SQLCOM_SELECT,
43   SQLCOM_CREATE_TABLE,
44   SQLCOM_CREATE_INDEX,
45   SQLCOM_ALTER_TABLE,
46   SQLCOM_UPDATE,
47   SQLCOM_INSERT,
48   SQLCOM_INSERT_SELECT,
49   SQLCOM_DELETE,
50   SQLCOM_TRUNCATE,
51   SQLCOM_DROP_TABLE,
52   SQLCOM_DROP_INDEX,
53   SQLCOM_SHOW_DATABASES,
54   SQLCOM_SHOW_TABLES,
55   SQLCOM_SHOW_FIELDS,
56   SQLCOM_SHOW_KEYS,
57   SQLCOM_SHOW_VARIABLES,
58   SQLCOM_SHOW_STATUS,
59   SQLCOM_SHOW_ENGINE_LOGS,
60   SQLCOM_SHOW_ENGINE_STATUS,
61   SQLCOM_SHOW_ENGINE_MUTEX,
62   SQLCOM_SHOW_PROCESSLIST,
63   SQLCOM_SHOW_MASTER_STAT,
64   SQLCOM_SHOW_SLAVE_STAT,
65   SQLCOM_SHOW_GRANTS,
66   SQLCOM_SHOW_CREATE,
67   SQLCOM_SHOW_CHARSETS,
68   SQLCOM_SHOW_COLLATIONS,
69   SQLCOM_SHOW_CREATE_DB,
70   SQLCOM_SHOW_TABLE_STATUS,
71   SQLCOM_SHOW_TRIGGERS,
72   SQLCOM_LOAD,
73   SQLCOM_SET_OPTION,
74   SQLCOM_LOCK_TABLES,
75   SQLCOM_UNLOCK_TABLES,
76   SQLCOM_GRANT,
77   SQLCOM_CHANGE_DB,
78   SQLCOM_CREATE_DB,
79   SQLCOM_DROP_DB,
80   SQLCOM_ALTER_DB,
81   SQLCOM_REPAIR,
82   SQLCOM_REPLACE,
83   SQLCOM_REPLACE_SELECT,
84   SQLCOM_CREATE_FUNCTION,
85   SQLCOM_DROP_FUNCTION,
86   SQLCOM_REVOKE,
87   SQLCOM_OPTIMIZE,
88   SQLCOM_CHECK,
89   SQLCOM_ASSIGN_TO_KEYCACHE,
90   SQLCOM_PRELOAD_KEYS,
91   SQLCOM_FLUSH,
92   SQLCOM_KILL,
93   SQLCOM_ANALYZE,
94   SQLCOM_ROLLBACK,
95   SQLCOM_ROLLBACK_TO_SAVEPOINT,
96   SQLCOM_COMMIT,
97   SQLCOM_SAVEPOINT,
98   SQLCOM_RELEASE_SAVEPOINT,
99   SQLCOM_SLAVE_START,
100   SQLCOM_SLAVE_STOP,
101   SQLCOM_START_GROUP_REPLICATION,
102   SQLCOM_STOP_GROUP_REPLICATION,
103   SQLCOM_BEGIN,
104   SQLCOM_CHANGE_MASTER,
105   SQLCOM_CHANGE_REPLICATION_FILTER,
106   SQLCOM_RENAME_TABLE,
107   SQLCOM_RESET,
108   SQLCOM_PURGE,
109   SQLCOM_PURGE_BEFORE,
110   SQLCOM_SHOW_BINLOGS,
111   SQLCOM_SHOW_OPEN_TABLES,
112   SQLCOM_HA_OPEN,
113   SQLCOM_HA_CLOSE,
114   SQLCOM_HA_READ,
115   SQLCOM_SHOW_SLAVE_HOSTS,
116   SQLCOM_DELETE_MULTI,
117   SQLCOM_UPDATE_MULTI,
118   SQLCOM_SHOW_BINLOG_EVENTS,
119   SQLCOM_DO,
120   SQLCOM_SHOW_WARNS,
121   SQLCOM_EMPTY_QUERY,
122   SQLCOM_SHOW_ERRORS,
123   SQLCOM_SHOW_STORAGE_ENGINES,
124   SQLCOM_SHOW_PRIVILEGES,
125   SQLCOM_HELP,
126   SQLCOM_CREATE_USER,
127   SQLCOM_DROP_USER,
128   SQLCOM_RENAME_USER,
129   SQLCOM_REVOKE_ALL,
130   SQLCOM_CHECKSUM,
131   SQLCOM_CREATE_PROCEDURE,
132   SQLCOM_CREATE_SPFUNCTION,
133   SQLCOM_CALL,
134   SQLCOM_DROP_PROCEDURE,
135   SQLCOM_ALTER_PROCEDURE,
136   SQLCOM_ALTER_FUNCTION,
137   SQLCOM_SHOW_CREATE_PROC,
138   SQLCOM_SHOW_CREATE_FUNC,
139   SQLCOM_SHOW_STATUS_PROC,
140   SQLCOM_SHOW_STATUS_FUNC,
141   SQLCOM_PREPARE,
142   SQLCOM_EXECUTE,
143   SQLCOM_DEALLOCATE_PREPARE,
144   SQLCOM_CREATE_VIEW,
145   SQLCOM_DROP_VIEW,
146   SQLCOM_CREATE_TRIGGER,
147   SQLCOM_DROP_TRIGGER,
148   SQLCOM_XA_START,
149   SQLCOM_XA_END,
150   SQLCOM_XA_PREPARE,
151   SQLCOM_XA_COMMIT,
152   SQLCOM_XA_ROLLBACK,
153   SQLCOM_XA_RECOVER,
154   SQLCOM_SHOW_PROC_CODE,
155   SQLCOM_SHOW_FUNC_CODE,
156   SQLCOM_ALTER_TABLESPACE,
157   SQLCOM_INSTALL_PLUGIN,
158   SQLCOM_UNINSTALL_PLUGIN,
159   SQLCOM_BINLOG_BASE64_EVENT,
160   SQLCOM_SHOW_PLUGINS,
161   SQLCOM_CREATE_SERVER,
162   SQLCOM_DROP_SERVER,
163   SQLCOM_ALTER_SERVER,
164   SQLCOM_CREATE_EVENT,
165   SQLCOM_ALTER_EVENT,
166   SQLCOM_DROP_EVENT,
167   SQLCOM_SHOW_CREATE_EVENT,
168   SQLCOM_SHOW_EVENTS,
169   SQLCOM_SHOW_CREATE_TRIGGER,
170   SQLCOM_ALTER_DB_UPGRADE,
171   SQLCOM_SHOW_PROFILE,
172   SQLCOM_SHOW_PROFILES,
173   SQLCOM_SIGNAL,
174   SQLCOM_RESIGNAL,
175   SQLCOM_SHOW_RELAYLOG_EVENTS,
176   SQLCOM_GET_DIAGNOSTICS,
177   SQLCOM_ALTER_USER,
178   SQLCOM_EXPLAIN_OTHER,
179   SQLCOM_SHOW_CREATE_USER,
180   SQLCOM_SHUTDOWN,
181   SQLCOM_ALTER_INSTANCE,
182   SQLCOM_SHOW_USER_STATS,
183   SQLCOM_SHOW_TABLE_STATS,
184   SQLCOM_SHOW_INDEX_STATS,
185   SQLCOM_SHOW_CLIENT_STATS,
186   SQLCOM_SHOW_THREAD_STATS,
187   SQLCOM_LOCK_TABLES_FOR_BACKUP,
188   SQLCOM_LOCK_BINLOG_FOR_BACKUP,
189   SQLCOM_UNLOCK_BINLOG,
190   SQLCOM_CREATE_COMPRESSION_DICTIONARY,
191   SQLCOM_DROP_COMPRESSION_DICTIONARY,
192   /* This should be the last !!! */
193   SQLCOM_END
194 };
195 
196 #endif /* _mysql_sql_command_h */
197