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