MySQL 9.1.0
Source Code Documentation
sql_admin.h
Go to the documentation of this file.
1/* Copyright (c) 2010, 2024, 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 designed to work 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 either included with
13 the program or referenced in the documentation.
14
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License, version 2.0, for more details.
19
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software
22 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
23
24#ifndef SQL_TABLE_MAINTENANCE_H
25#define SQL_TABLE_MAINTENANCE_H
26
27#include <assert.h>
28#include <stddef.h>
29#include <set>
30
31#include "lex_string.h"
32
33#include "my_sqlcommand.h"
36#include "sql/sql_cmd.h" // Sql_cmd
37#include "sql/sql_cmd_dcl.h" // ACL/DCL commands
38#include "sql/sql_cmd_ddl_table.h" // Sql_cmd_ddl_table
39#include "sql/sql_plugin_ref.h"
40
41class Clone_handler;
42class String;
43class THD;
44
45class Table_ref;
46template <class T>
47class List;
48
49struct KEY_CACHE;
50struct LEX_USER;
51
53 bool operator()(const String *lhs, const String *rhs) const;
54};
55
56/* Must be able to hold ALTER TABLE t PARTITION BY ... KEY ALGORITHM = 1 ... */
57#define SQL_ADMIN_MSG_TEXT_SIZE 128 * 1024
58
59/**
60 Sql_cmd_analyze_table represents the ANALYZE TABLE statement.
61
62 Also this class is a base class for Sql_cmd_alter_table_analyze_partition
63 which represents the ALTER TABLE ... ANALYZE PARTITION statement.
64*/
66 public:
67 /**
68 Specifies which (if any) of the commands UPDATE HISTOGRAM or DROP HISTOGRAM
69 that is specified after ANALYZE TABLE tbl.
70 */
72
73 /**
74 Constructor, used to represent a ANALYZE TABLE statement.
75 */
76 Sql_cmd_analyze_table(THD *thd, Alter_info *alter_info,
77 Histogram_command histogram_command,
78 int histogram_buckets, LEX_STRING data,
79 bool histogram_auto_update);
80
81 bool execute(THD *thd) override;
82
84
85 /**
86 Set which fields to (try and) create/update or delete histogram statistics
87 for.
88 */
90
91 private:
93 std::set<String *, Column_name_comparator, Mem_root_allocator<String *>>;
94
95 /// Which histogram command (if any) is specified
97
98 /// The fields specified by the user in UPDATE/DROP HISTOGRAM
100
101 /// The number of buckets specified by the user in UPDATE HISTOGRAM
103
104 /// The histogram json literal for update
106
107 /// True if AUTO UPDATE was specified by the user in UPDATE HISTOGRAM.
109
110 /// @return The histogram command specified, if any.
112 return m_histogram_command;
113 }
114
115 /// @return The number of buckets specified in UPDATE HISTOGRAM.
117
118 /// @return The histogram json literal specified in UPDATE HISTOGRAM.
120
121 /// @return True if AUTO UPDATE was specified in UPDATE HISTOGRAM.
123
124 /// @return The fields specified in UPDATE/DROP HISTOGRAM
126
127 /**
128 Send the result of histogram operations back to the client as a result set.
129
130 @param thd Thread handle.
131 @param results The messages to send back to the client.
132 @param table The table the operations was performed on.
133
134 @return false on success, true otherwise.
135 */
136 bool send_histogram_results(THD *thd, const histograms::results_map &results,
137 const Table_ref *table);
138
139 /**
140 Update one or more histograms
141
142 This is invoked by running the command "ANALYZE TABLE tbl UPDATE HISTOGRAM
143 ON col1, col2 WITH n BUCKETS". Note that the function expects exactly one
144 table to be specified, but multiple columns can be specified.
145
146 @param thd Thread handler.
147 @param table The table specified in ANALYZE TABLE
148 @param results A map where the results of the operations will be stored.
149
150 @return False on success, true if a fatal error was encountered when
151 updating histograms, or if no histograms were updated.
152 */
154 histograms::results_map &results);
155
156 /**
157 Drops one or more histograms
158
159 This is invoked by running the command "ANALYZE TABLE tbl DROP HISTOGRAM ON
160 col1, col2;". Note that the function expects exactly one table to be
161 specified, but multiple columns can be specified.
162
163 @param thd Thread handler.
164 @param table The table specified in ANALYZE TABLE
165 @param results A map where the results of the operations will be stored.
166
167 @return false on success, true on error.
168 */
169 bool drop_histogram(THD *thd, Table_ref *table,
170 histograms::results_map &results);
171
172 /**
173 Dispatches the histogram command (DROP or UPDATE) and commits or rollbacks
174 the changes depending on success or failure. If histograms were modified we
175 update the current snapshot of the table's histograms on the TABLE_SHARE.
176
177 After the histogram command has been handled we check whether a fatal error
178 was encountered:
179
180 - If not we send the result of histogram operations back to the client as a
181 result set along with any errors in the diagnostics area. The diagnostics
182 area is cleared following this operation.
183
184 - If a fatal error was encountered we propagate the error up and leave the
185 diagnostics area as it is.
186
187 @param thd Thread handler.
188 @param table The table specified in ANALYZE TABLE
189
190 @return True if a fatal error was encountered or if sending the results of
191 the histogram operations fails. False otherwise (even if the histogram
192 operations themselves fail, without a fatal error).
193 */
195
196 // Carries out the main portion of the work of handle_histogram_command().
198 histograms::results_map &results);
199};
200
201/**
202 Sql_cmd_check_table represents the CHECK TABLE statement.
203
204 Also this is a base class of Sql_cmd_alter_table_check_partition which
205 represents the ALTER TABLE ... CHECK PARTITION statement.
206*/
208 public:
210
211 bool execute(THD *thd) override;
212
213 enum_sql_command sql_command_code() const override { return SQLCOM_CHECK; }
214};
215
216/**
217 Sql_cmd_optimize_table represents the OPTIMIZE TABLE statement.
218
219 Also this is a base class of Sql_cmd_alter_table_optimize_partition.
220 represents the ALTER TABLE ... CHECK PARTITION statement.
221*/
223 public:
225
226 bool execute(THD *thd) override;
227
229};
230
231/**
232 Sql_cmd_repair_table represents the REPAIR TABLE statement.
233
234 Also this is a base class of Sql_cmd_alter_table_repair_partition which
235 represents the ALTER TABLE ... REPAIR PARTITION statement.
236*/
238 public:
240
241 bool execute(THD *thd) override;
242
244};
245
246/**
247 Sql_cmd_shutdown represents the SHUTDOWN statement.
248*/
249class Sql_cmd_shutdown : public Sql_cmd {
250 public:
251 bool execute(THD *thd) override;
253};
254
256
257/**
258 Sql_cmd_set_role represents the SET ROLE ... statement.
259*/
261 friend class PT_set_role;
262
266
267 public:
269 const List<LEX_USER> *except_roles_arg)
270 : role_type(role_type_arg),
272 except_roles(except_roles_arg) {
276 assert(role_type == role_enum::ROLE_ALL || except_roles == nullptr);
277 }
278 explicit Sql_cmd_set_role(const List<LEX_USER> *role_arg)
279 : role_type(role_enum::ROLE_NAME), role_list(role_arg) {}
280
281 bool execute(THD *thd) override;
283};
284
285/**
286 Sql_cmd_create_role represents the CREATE ROLE ... statement.
287*/
289 friend class PT_create_role;
290
291 const bool if_not_exists;
293
294 public:
295 explicit Sql_cmd_create_role(bool if_not_exists_arg,
296 const List<LEX_USER> *roles_arg)
297 : if_not_exists(if_not_exists_arg), roles(roles_arg) {}
298
299 bool execute(THD *thd) override;
301 return SQLCOM_CREATE_ROLE;
302 }
303};
304
305/**
306 Sql_cmd_drop_role represents the DROP ROLE ... statement.
307*/
309 friend class PT_drop_role;
310
313
314 public:
315 explicit Sql_cmd_drop_role(bool ignore_errors_arg,
316 const List<LEX_USER> *roles_arg)
317 : ignore_errors(ignore_errors_arg), roles(roles_arg) {}
318
319 bool execute(THD *thd) override;
321 return SQLCOM_DROP_ROLE;
322 }
323};
324
325/**
326 Sql_cmd_grant_roles represents the GRANT role-list TO ... statement.
327*/
332
333 public:
334 explicit Sql_cmd_grant_roles(const List<LEX_USER> *roles_arg,
335 const List<LEX_USER> *users_arg,
336 bool with_admin_option_arg)
337 : roles(roles_arg),
338 users(users_arg),
339 with_admin_option(with_admin_option_arg) {}
340
341 bool execute(THD *thd) override;
343 return SQLCOM_GRANT_ROLE;
344 }
345};
346
347/**
348 Sql_cmd_revoke_roles represents the REVOKE [role list] TO ... statement.
349*/
353
354 public:
355 explicit Sql_cmd_revoke_roles(const List<LEX_USER> *roles_arg,
356 const List<LEX_USER> *users_arg)
357 : roles(roles_arg), users(users_arg) {}
358
359 bool execute(THD *thd) override;
361 return SQLCOM_REVOKE_ROLE;
362 }
363};
364
365/**
366 Sql_cmd_alter_user_default_role ALTER USER ... DEFAULT ROLE ... statement.
367*/
370
371 const bool if_exists;
375
376 public:
377 explicit Sql_cmd_alter_user_default_role(bool if_exists_arg,
378 const List<LEX_USER> *users_arg,
379 const List<LEX_USER> *roles_arg,
380 const role_enum role_type_arg)
381 : if_exists(if_exists_arg),
382 users(users_arg),
383 roles(roles_arg),
384 role_type(role_type_arg) {}
385
386 bool execute(THD *thd) override;
389 }
390};
391
400 LAST_ACTION /* Add new master key type before this */
402
403/**
404 Sql_cmd_alter_instance represents the ROTATE alter_instance_action MASTER KEY
405 statement.
406*/
407class Alter_instance;
408
410 friend class PT_alter_instance;
414
415 public:
417 enum alter_instance_action_enum alter_instance_action_arg,
418 const LEX_CSTRING &channel_name)
419 : alter_instance_action(alter_instance_action_arg),
420 channel_name_(channel_name),
422
423 bool execute(THD *thd) override;
426 }
427};
428
429/**
430 Sql_cmd_clone implements CLONE ... statement.
431*/
432
433class Sql_cmd_clone : public Sql_cmd {
434 public:
435 /** Construct clone command for clone server */
436 explicit Sql_cmd_clone()
437 : m_host(),
438 m_port(),
439 m_user(),
440 m_passwd(),
441 m_data_dir(),
442 m_clone(),
443 m_is_local(false) {}
444
445 /** Construct clone command for clone client
446 @param[in] user_info user, password and remote host information
447 @param[in] port port for remote server
448 @param[in] data_dir data directory to clone */
449 explicit Sql_cmd_clone(LEX_USER *user_info, ulong port, LEX_CSTRING data_dir);
450
451 /** Construct clone command for local clone
452 @param[in] data_dir data directory to clone */
453 explicit Sql_cmd_clone(LEX_CSTRING data_dir)
454 : m_host(),
455 m_port(),
456 m_user(),
457 m_passwd(),
458 m_data_dir(data_dir),
459 m_clone(),
460 m_is_local(true) {}
461
462 enum_sql_command sql_command_code() const override { return SQLCOM_CLONE; }
463
464 bool execute(THD *thd) override;
465
466 /** Execute clone server.
467 @param[in] thd server session
468 @return true, if error */
469 bool execute_server(THD *thd);
470
471 /** Load clone plugin for clone server.
472 @param[in] thd server session
473 @return true, if error */
474 bool load(THD *thd);
475
476 /** Re-write clone statement to hide password.
477 @param[in,out] thd server session
478 @param[in,out] rlb the buffer to return the rewritten query in. empty if none.
479 @return true iff query is re-written */
480 bool rewrite(THD *thd, String &rlb);
481
482 /** @return true, if it is local clone command */
483 bool is_local() const { return (m_is_local); }
484
485 private:
486 /** Remote server IP */
488
489 /** Remote server port */
490 const ulong m_port;
491
492 /** User name for remote connection */
494
495 /** Password for remote connection */
497
498 /** Data directory for cloned data */
500
501 /** Clone handle in server */
503
504 /** Loaded clone plugin reference */
506
507 /** If it is local clone operation */
509};
510#endif
Kerberos Client Authentication nullptr
Definition: auth_kerberos_client_plugin.cc:251
Data describing the table being created by CREATE TABLE or altered by ALTER TABLE.
Definition: sql_alter.h:205
Definition: sql_alter_instance.h:33
Clone plugin handler to convenient way to.
Definition: clone_handler.h:54
Definition: sql_list.h:494
Top-level node for the ALTER INSTANCE statement.
Definition: parse_tree_nodes.h:2216
Definition: parse_tree_nodes.h:3265
Definition: parse_tree_nodes.h:3111
Definition: parse_tree_nodes.h:3122
Definition: parse_tree_nodes.h:3133
Definition: sql_admin.h:409
enum alter_instance_action_enum alter_instance_action
Definition: sql_admin.h:411
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:2067
LEX_CSTRING channel_name_
Definition: sql_admin.h:412
Sql_cmd_alter_instance(enum alter_instance_action_enum alter_instance_action_arg, const LEX_CSTRING &channel_name)
Definition: sql_admin.h:416
Alter_instance * alter_instance
Definition: sql_admin.h:413
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:424
Sql_cmd_alter_user_default_role ALTER USER ... DEFAULT ROLE ... statement.
Definition: sql_admin.h:368
Sql_cmd_alter_user_default_role(bool if_exists_arg, const List< LEX_USER > *users_arg, const List< LEX_USER > *roles_arg, const role_enum role_type_arg)
Definition: sql_admin.h:377
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:387
const bool if_exists
Definition: sql_admin.h:371
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:2475
const List< LEX_USER > * roles
Definition: sql_admin.h:373
const role_enum role_type
Definition: sql_admin.h:374
const List< LEX_USER > * users
Definition: sql_admin.h:372
Sql_cmd_analyze_table represents the ANALYZE TABLE statement.
Definition: sql_admin.h:65
const LEX_STRING m_data
The histogram json literal for update.
Definition: sql_admin.h:105
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:83
LEX_STRING get_histogram_data_string() const
Definition: sql_admin.h:119
Histogram_command
Specifies which (if any) of the commands UPDATE HISTOGRAM or DROP HISTOGRAM that is specified after A...
Definition: sql_admin.h:71
bool handle_histogram_command_inner(THD *thd, Table_ref *table, histograms::results_map &results)
Definition: sql_admin.cc:1751
bool m_histogram_auto_update
True if AUTO UPDATE was specified by the user in UPDATE HISTOGRAM.
Definition: sql_admin.h:108
Histogram_command m_histogram_command
Which histogram command (if any) is specified.
Definition: sql_admin.h:96
Histogram_command get_histogram_command() const
Definition: sql_admin.h:111
Sql_cmd_analyze_table(THD *thd, Alter_info *alter_info, Histogram_command histogram_command, int histogram_buckets, LEX_STRING data, bool histogram_auto_update)
Constructor, used to represent a ANALYZE TABLE statement.
Definition: sql_admin.cc:306
int get_histogram_buckets() const
Definition: sql_admin.h:116
columns_set m_histogram_fields
The fields specified by the user in UPDATE/DROP HISTOGRAM.
Definition: sql_admin.h:99
bool drop_histogram(THD *thd, Table_ref *table, histograms::results_map &results)
Drops one or more histograms.
Definition: sql_admin.cc:317
const columns_set & get_histogram_fields() const
Definition: sql_admin.h:125
bool update_histogram(THD *thd, Table_ref *table, histograms::results_map &results)
Update one or more histograms.
Definition: sql_admin.cc:646
std::set< String *, Column_name_comparator, Mem_root_allocator< String * > > columns_set
Definition: sql_admin.h:93
bool get_histogram_auto_update() const
Definition: sql_admin.h:122
int m_histogram_buckets
The number of buckets specified by the user in UPDATE HISTOGRAM.
Definition: sql_admin.h:102
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:1832
bool send_histogram_results(THD *thd, const histograms::results_map &results, const Table_ref *table)
Send the result of histogram operations back to the client as a result set.
Definition: sql_admin.cc:363
bool set_histogram_fields(List< String > *fields)
Set which fields to (try and) create/update or delete histogram statistics for.
Definition: sql_admin.cc:1655
bool handle_histogram_command(THD *thd, Table_ref *table)
Dispatches the histogram command (DROP or UPDATE) and commits or rollbacks the changes depending on s...
Definition: sql_admin.cc:1825
Sql_cmd_check_table represents the CHECK TABLE statement.
Definition: sql_admin.h:207
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:213
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:1871
Sql_cmd_clone implements CLONE ... statement.
Definition: sql_admin.h:433
bool execute_server(THD *thd)
Execute clone server.
Definition: sql_admin.cc:2264
bool is_local() const
Definition: sql_admin.h:483
Sql_cmd_clone(LEX_CSTRING data_dir)
Construct clone command for local clone.
Definition: sql_admin.h:453
LEX_CSTRING m_data_dir
Data directory for cloned data.
Definition: sql_admin.h:499
Sql_cmd_clone()
Construct clone command for clone server.
Definition: sql_admin.h:436
bool load(THD *thd)
Load clone plugin for clone server.
Definition: sql_admin.cc:2241
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:2123
bool rewrite(THD *thd, String &rlb)
Re-write clone statement to hide password.
Definition: sql_admin.cc:2302
Clone_handler * m_clone
Clone handle in server.
Definition: sql_admin.h:502
LEX_CSTRING m_passwd
Password for remote connection.
Definition: sql_admin.h:496
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:462
LEX_CSTRING m_host
Remote server IP.
Definition: sql_admin.h:487
plugin_ref m_plugin
Loaded clone plugin reference.
Definition: sql_admin.h:505
bool m_is_local
If it is local clone operation.
Definition: sql_admin.h:508
LEX_CSTRING m_user
User name for remote connection.
Definition: sql_admin.h:493
const ulong m_port
Remote server port.
Definition: sql_admin.h:490
Sql_cmd_create_role represents the CREATE ROLE ... statement.
Definition: sql_admin.h:288
const List< LEX_USER > * roles
Definition: sql_admin.h:292
const bool if_not_exists
Definition: sql_admin.h:291
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:300
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:2345
Sql_cmd_create_role(bool if_not_exists_arg, const List< LEX_USER > *roles_arg)
Definition: sql_admin.h:295
A base class for DCL/ACL statements.
Definition: sql_cmd_dcl.h:32
A base class for CREATE/ALTER TABLE commands and friends.
Definition: sql_cmd_ddl_table.h:50
Sql_cmd_ddl_table(Alter_info *alter_info)
Definition: sql_cmd_ddl_table.cc:68
Sql_cmd_drop_role represents the DROP ROLE ... statement.
Definition: sql_admin.h:308
const List< LEX_USER > * roles
Definition: sql_admin.h:312
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:2395
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:320
bool ignore_errors
Definition: sql_admin.h:311
Sql_cmd_drop_role(bool ignore_errors_arg, const List< LEX_USER > *roles_arg)
Definition: sql_admin.h:315
Sql_cmd_grant_roles represents the GRANT role-list TO ... statement.
Definition: sql_admin.h:328
Sql_cmd_grant_roles(const List< LEX_USER > *roles_arg, const List< LEX_USER > *users_arg, bool with_admin_option_arg)
Definition: sql_admin.h:334
const List< LEX_USER > * users
Definition: sql_admin.h:330
const List< LEX_USER > * roles
Definition: sql_admin.h:329
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:342
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:2455
const bool with_admin_option
Definition: sql_admin.h:331
Sql_cmd_optimize_table represents the OPTIMIZE TABLE statement.
Definition: sql_admin.h:222
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:228
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:1925
Sql_cmd_repair_table represents the REPAIR TABLE statement.
Definition: sql_admin.h:237
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:1952
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:243
Sql_cmd_revoke_roles represents the REVOKE [role list] TO ... statement.
Definition: sql_admin.h:350
Sql_cmd_revoke_roles(const List< LEX_USER > *roles_arg, const List< LEX_USER > *users_arg)
Definition: sql_admin.h:355
const List< LEX_USER > * users
Definition: sql_admin.h:352
const List< LEX_USER > * roles
Definition: sql_admin.h:351
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:360
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:2465
Sql_cmd_set_role represents the SET ROLE ... statement.
Definition: sql_admin.h:260
Sql_cmd_set_role(role_enum role_type_arg, const List< LEX_USER > *except_roles_arg)
Definition: sql_admin.h:268
const role_enum role_type
Definition: sql_admin.h:263
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:2417
Sql_cmd_set_role(const List< LEX_USER > *role_arg)
Definition: sql_admin.h:278
const List< LEX_USER > * except_roles
Definition: sql_admin.h:265
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:282
const List< LEX_USER > * role_list
Definition: sql_admin.h:264
Sql_cmd_shutdown represents the SHUTDOWN statement.
Definition: sql_admin.h:249
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:252
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:1980
Representation of an SQL command.
Definition: sql_cmd.h:83
Using this class is fraught with peril, and you need to be very careful when doing so.
Definition: sql_string.h:167
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
Definition: table.h:2900
Histogram base class.
enum_sql_command
Definition: my_sqlcommand.h:46
@ SQLCOM_CHECK
Definition: my_sqlcommand.h:93
@ SQLCOM_OPTIMIZE
Definition: my_sqlcommand.h:92
@ SQLCOM_ALTER_INSTANCE
Definition: my_sqlcommand.h:186
@ SQLCOM_REVOKE_ROLE
Definition: my_sqlcommand.h:193
@ SQLCOM_REPAIR
Definition: my_sqlcommand.h:86
@ SQLCOM_CREATE_ROLE
Definition: my_sqlcommand.h:189
@ SQLCOM_SHUTDOWN
Definition: my_sqlcommand.h:184
@ SQLCOM_ALTER_USER_DEFAULT_ROLE
Definition: my_sqlcommand.h:194
@ SQLCOM_CLONE
Definition: my_sqlcommand.h:200
@ SQLCOM_SET_ROLE
Definition: my_sqlcommand.h:191
@ SQLCOM_DROP_ROLE
Definition: my_sqlcommand.h:190
@ SQLCOM_GRANT_ROLE
Definition: my_sqlcommand.h:192
@ SQLCOM_ANALYZE
Definition: my_sqlcommand.h:98
PasswdValue user_info
Definition: mysqld.cc:1924
static PFS_engine_table_share_proxy table
Definition: pfs.cc:61
std::map< std::string, Message, std::less< std::string >, Histogram_key_allocator< std::pair< const std::string, Message > > > results_map
Definition: histogram.h:147
required uint64 port
Definition: replication_asynchronous_connection_failover.proto:33
alter_instance_action_enum
Definition: sql_admin.h:392
@ RELOAD_KEYRING
Definition: sql_admin.h:399
@ ALTER_INSTANCE_RELOAD_TLS_ROLLBACK_ON_ERROR
Definition: sql_admin.h:395
@ ROTATE_BINLOG_MASTER_KEY
Definition: sql_admin.h:396
@ ALTER_INSTANCE_DISABLE_INNODB_REDO
Definition: sql_admin.h:398
@ ALTER_INSTANCE_ENABLE_INNODB_REDO
Definition: sql_admin.h:397
@ LAST_ACTION
Definition: sql_admin.h:400
@ ROTATE_INNODB_MASTER_KEY
Definition: sql_admin.h:393
@ ALTER_INSTANCE_RELOAD_TLS
Definition: sql_admin.h:394
role_enum
Definition: sql_admin.h:255
Representation of an SQL command.
Definition: sql_admin.h:52
bool operator()(const String *lhs, const String *rhs) const
Definition: sql_admin.cc:111
Definition: keycache.h:73
Definition: table.h:2767
Definition: mysql_lex_string.h:40
Definition: mysql_lex_string.h:35
Definition: sql_plugin_ref.h:45