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