MySQL 8.1.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_ddl_table.h" // Sql_cmd_ddl_table
37#include "sql/sql_plugin_ref.h"
38
39class Clone_handler;
40class String;
41class THD;
42
43class Table_ref;
44template <class T>
45class List;
46
47struct KEY_CACHE;
48struct 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, LEX_STRING data);
82
83 bool execute(THD *thd) override;
84
86
87 /**
88 Set which fields to (try and) create/update or delete histogram statistics
89 for.
90 */
92
93 private:
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 /// The histogram json literal for update
108
109 /// @return The histogram command specified, if any.
111 return m_histogram_command;
112 }
113
114 /// @return The number of buckets specified in UPDATE HISTOGRAM.
116
117 /// @return The histogram json literal specified in UPDATE HISTOGRAM.
119
120 /// @return The fields specified in UPDATE/DROP HISTOGRAM
122
123 /**
124 Send the result of histogram operations back to the client as a result set.
125
126 @param thd Thread handle.
127 @param results The messages to send back to the client.
128 @param table The table the operations was performed on.
129
130 @return false on success, true otherwise.
131 */
132 bool send_histogram_results(THD *thd, const histograms::results_map &results,
133 const Table_ref *table);
134
135 /**
136 Update one or more histograms
137
138 This is invoked by running the command "ANALYZE TABLE tbl UPDATE HISTOGRAM
139 ON col1, col2 WITH n BUCKETS". Note that the function expects exactly one
140 table to be specified, but multiple columns can be specified.
141
142 @param thd Thread handler.
143 @param table The table specified in ANALYZE TABLE
144 @param results A map where the results of the operations will be stored.
145
146 @return false on success, true on error.
147 */
149 histograms::results_map &results);
150
151 /**
152 Drops one or more histograms
153
154 This is invoked by running the command "ANALYZE TABLE tbl DROP HISTOGRAM ON
155 col1, col2;". Note that the function expects exactly one table to be
156 specified, but multiple columns can be specified.
157
158 @param thd Thread handler.
159 @param table The table specified in ANALYZE TABLE
160 @param results A map where the results of the operations will be stored.
161
162 @return false on success, true on error.
163 */
164 bool drop_histogram(THD *thd, Table_ref *table,
165 histograms::results_map &results);
166
167 /**
168 Dispatches the histogram command (DROP or UPDATE) and commits or rollbacks
169 the changes depending on success or failure. If histograms were modified we
170 update the current snapshot of the table's histograms on the TABLE_SHARE.
171
172 @param thd Thread handler.
173 @param table The table specified in ANALYZE TABLE
174
175 @return True if sending the results of the histogram operations fails. False
176 otherwise (even if the histogram operations themselves fail).
177 */
179
180 // Carries out the main portion of the work of handle_histogram_command().
182 histograms::results_map &results);
183};
184
185/**
186 Sql_cmd_check_table represents the CHECK TABLE statement.
187
188 Also this is a base class of Sql_cmd_alter_table_check_partition which
189 represents the ALTER TABLE ... CHECK PARTITION statement.
190*/
192 public:
194
195 bool execute(THD *thd) override;
196
197 enum_sql_command sql_command_code() const override { return SQLCOM_CHECK; }
198};
199
200/**
201 Sql_cmd_optimize_table represents the OPTIMIZE TABLE statement.
202
203 Also this is a base class of Sql_cmd_alter_table_optimize_partition.
204 represents the ALTER TABLE ... CHECK PARTITION statement.
205*/
207 public:
209
210 bool execute(THD *thd) override;
211
213};
214
215/**
216 Sql_cmd_repair_table represents the REPAIR TABLE statement.
217
218 Also this is a base class of Sql_cmd_alter_table_repair_partition which
219 represents the ALTER TABLE ... REPAIR PARTITION statement.
220*/
222 public:
224
225 bool execute(THD *thd) override;
226
228};
229
230/**
231 Sql_cmd_shutdown represents the SHUTDOWN statement.
232*/
233class Sql_cmd_shutdown : public Sql_cmd {
234 public:
235 bool execute(THD *thd) override;
237};
238
240
241/**
242 Sql_cmd_set_role represetns the SET ROLE ... statement.
243*/
244class Sql_cmd_set_role : public Sql_cmd {
245 friend class PT_set_role;
246
250
251 public:
253 const List<LEX_USER> *except_roles_arg)
254 : role_type(role_type_arg),
256 except_roles(except_roles_arg) {
260 assert(role_type == role_enum::ROLE_ALL || except_roles == nullptr);
261 }
262 explicit Sql_cmd_set_role(const List<LEX_USER> *role_arg)
263 : role_type(role_enum::ROLE_NAME), role_list(role_arg) {}
264
265 bool execute(THD *thd) override;
267};
268
269/**
270 Sql_cmd_create_role represetns the CREATE ROLE ... statement.
271*/
273 friend class PT_create_role;
274
275 const bool if_not_exists;
277
278 public:
279 explicit Sql_cmd_create_role(bool if_not_exists_arg,
280 const List<LEX_USER> *roles_arg)
281 : if_not_exists(if_not_exists_arg), roles(roles_arg) {}
282
283 bool execute(THD *thd) override;
285 return SQLCOM_CREATE_ROLE;
286 }
287};
288
289/**
290 Sql_cmd_drop_role represetns the DROP ROLE ... statement.
291*/
293 friend class PT_drop_role;
294
297
298 public:
299 explicit Sql_cmd_drop_role(bool ignore_errors_arg,
300 const List<LEX_USER> *roles_arg)
301 : ignore_errors(ignore_errors_arg), roles(roles_arg) {}
302
303 bool execute(THD *thd) override;
305 return SQLCOM_DROP_ROLE;
306 }
307};
308
309/**
310 Sql_cmd_grant_roles represents the GRANT role-list TO ... statement.
311*/
316
317 public:
318 explicit Sql_cmd_grant_roles(const List<LEX_USER> *roles_arg,
319 const List<LEX_USER> *users_arg,
320 bool with_admin_option_arg)
321 : roles(roles_arg),
322 users(users_arg),
323 with_admin_option(with_admin_option_arg) {}
324
325 bool execute(THD *thd) override;
327 return SQLCOM_GRANT_ROLE;
328 }
329};
330
331/**
332 Sql_cmd_revoke_roles represents the REVOKE [role list] TO ... statement.
333*/
337
338 public:
339 explicit Sql_cmd_revoke_roles(const List<LEX_USER> *roles_arg,
340 const List<LEX_USER> *users_arg)
341 : roles(roles_arg), users(users_arg) {}
342
343 bool execute(THD *thd) override;
345 return SQLCOM_REVOKE_ROLE;
346 }
347};
348
349/**
350 Sql_cmd_alter_user_default_role ALTER USER ... DEFAULT ROLE ... statement.
351*/
354
355 const bool if_exists;
359
360 public:
361 explicit Sql_cmd_alter_user_default_role(bool if_exists_arg,
362 const List<LEX_USER> *users_arg,
363 const List<LEX_USER> *roles_arg,
364 const role_enum role_type_arg)
365 : if_exists(if_exists_arg),
366 users(users_arg),
367 roles(roles_arg),
368 role_type(role_type_arg) {}
369
370 bool execute(THD *thd) override;
373 }
374};
375
384 LAST_ACTION /* Add new master key type before this */
386
387/**
388 Sql_cmd_alter_instance represents the ROTATE alter_instance_action MASTER KEY
389 statement.
390*/
391class Alter_instance;
392
394 friend class PT_alter_instance;
398
399 public:
401 enum alter_instance_action_enum alter_instance_action_arg,
402 const LEX_CSTRING &channel_name)
403 : alter_instance_action(alter_instance_action_arg),
404 channel_name_(channel_name),
406
407 bool execute(THD *thd) override;
410 }
411};
412
413/**
414 Sql_cmd_clone implements CLONE ... statement.
415*/
416
417class Sql_cmd_clone : public Sql_cmd {
418 public:
419 /** Construct clone command for clone server */
420 explicit Sql_cmd_clone()
421 : m_host(),
422 m_port(),
423 m_user(),
424 m_passwd(),
425 m_data_dir(),
426 m_clone(),
427 m_is_local(false) {}
428
429 /** Construct clone command for clone client
430 @param[in] user_info user, password and remote host information
431 @param[in] port port for remote server
432 @param[in] data_dir data directory to clone */
433 explicit Sql_cmd_clone(LEX_USER *user_info, ulong port, LEX_CSTRING data_dir);
434
435 /** Construct clone command for local clone
436 @param[in] data_dir data directory to clone */
437 explicit Sql_cmd_clone(LEX_CSTRING data_dir)
438 : m_host(),
439 m_port(),
440 m_user(),
441 m_passwd(),
442 m_data_dir(data_dir),
443 m_clone(),
444 m_is_local(true) {}
445
446 enum_sql_command sql_command_code() const override { return SQLCOM_CLONE; }
447
448 bool execute(THD *thd) override;
449
450 /** Execute clone server.
451 @param[in] thd server session
452 @return true, if error */
453 bool execute_server(THD *thd);
454
455 /** Load clone plugin for clone server.
456 @param[in] thd server session
457 @return true, if error */
458 bool load(THD *thd);
459
460 /** Re-write clone statement to hide password.
461 @param[in,out] thd server session
462 @param[in,out] rlb the buffer to return the rewritten query in. empty if none.
463 @return true iff query is re-written */
464 bool rewrite(THD *thd, String &rlb);
465
466 /** @return true, if it is local clone command */
467 bool is_local() const { return (m_is_local); }
468
469 private:
470 /** Remote server IP */
472
473 /** Remote server port */
474 const ulong m_port;
475
476 /** User name for remote connection */
478
479 /** Password for remote connection */
481
482 /** Data directory for cloned data */
484
485 /** Clone handle in server */
487
488 /** Loaded clone plugin reference */
490
491 /** If it is local clone operation */
493};
494#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:433
Top-level node for the ALTER INSTANCE statement.
Definition: parse_tree_nodes.h:2186
Definition: parse_tree_nodes.h:3230
Definition: parse_tree_nodes.h:3076
Definition: parse_tree_nodes.h:3087
Definition: parse_tree_nodes.h:3098
Definition: sql_admin.h:393
enum alter_instance_action_enum alter_instance_action
Definition: sql_admin.h:395
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:2118
LEX_CSTRING channel_name_
Definition: sql_admin.h:396
Sql_cmd_alter_instance(enum alter_instance_action_enum alter_instance_action_arg, const LEX_CSTRING &channel_name)
Definition: sql_admin.h:400
Alter_instance * alter_instance
Definition: sql_admin.h:397
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:408
Sql_cmd_alter_user_default_role ALTER USER ... DEFAULT ROLE ... statement.
Definition: sql_admin.h:352
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:361
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:371
const bool if_exists
Definition: sql_admin.h:355
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:2526
const List< LEX_USER > * roles
Definition: sql_admin.h:357
const role_enum role_type
Definition: sql_admin.h:358
const List< LEX_USER > * users
Definition: sql_admin.h:356
Sql_cmd_analyze_table represents the ANALYZE TABLE statement.
Definition: sql_admin.h:63
const LEX_STRING m_data
The histogram json literal for update.
Definition: sql_admin.h:107
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:85
LEX_STRING get_histogram_data_string() const
Definition: sql_admin.h:118
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.
@ 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:98
Histogram_command get_histogram_command() const
Definition: sql_admin.h:110
int get_histogram_buckets() const
Definition: sql_admin.h:115
columns_set m_histogram_fields
The fields specified by the user in UPDATE/DROP HISTOGRAM.
Definition: sql_admin.h:101
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:121
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:95
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: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:191
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:197
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:1954
Sql_cmd_clone implements CLONE ... statement.
Definition: sql_admin.h:417
bool execute_server(THD *thd)
Execute clone server.
Definition: sql_admin.cc:2315
bool is_local() const
Definition: sql_admin.h:467
Sql_cmd_clone(LEX_CSTRING data_dir)
Construct clone command for local clone.
Definition: sql_admin.h:437
LEX_CSTRING m_data_dir
Data directory for cloned data.
Definition: sql_admin.h:483
Sql_cmd_clone()
Construct clone command for clone server.
Definition: sql_admin.h:420
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:486
LEX_CSTRING m_passwd
Password for remote connection.
Definition: sql_admin.h:480
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:446
LEX_CSTRING m_host
Remote server IP.
Definition: sql_admin.h:471
plugin_ref m_plugin
Loaded clone plugin reference.
Definition: sql_admin.h:489
bool m_is_local
If it is local clone operation.
Definition: sql_admin.h:492
LEX_CSTRING m_user
User name for remote connection.
Definition: sql_admin.h:477
const ulong m_port
Remote server port.
Definition: sql_admin.h:474
Sql_cmd_create_role represetns the CREATE ROLE ... statement.
Definition: sql_admin.h:272
const List< LEX_USER > * roles
Definition: sql_admin.h:276
const bool if_not_exists
Definition: sql_admin.h:275
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:284
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:279
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 ... statement.
Definition: sql_admin.h:292
const List< LEX_USER > * roles
Definition: sql_admin.h:296
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:304
bool ignore_errors
Definition: sql_admin.h:295
Sql_cmd_drop_role(bool ignore_errors_arg, const List< LEX_USER > *roles_arg)
Definition: sql_admin.h:299
Sql_cmd_grant_roles represents the GRANT role-list TO ... statement.
Definition: sql_admin.h:312
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:318
const List< LEX_USER > * users
Definition: sql_admin.h:314
const List< LEX_USER > * roles
Definition: sql_admin.h:313
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:326
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:2506
const bool with_admin_option
Definition: sql_admin.h:315
Sql_cmd_optimize_table represents the OPTIMIZE TABLE statement.
Definition: sql_admin.h:206
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:212
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:221
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:227
Sql_cmd_revoke_roles represents the REVOKE [role list] TO ... statement.
Definition: sql_admin.h:334
Sql_cmd_revoke_roles(const List< LEX_USER > *roles_arg, const List< LEX_USER > *users_arg)
Definition: sql_admin.h:339
const List< LEX_USER > * users
Definition: sql_admin.h:336
const List< LEX_USER > * roles
Definition: sql_admin.h:335
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:344
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:2516
Sql_cmd_set_role represetns the SET ROLE ... statement.
Definition: sql_admin.h:244
Sql_cmd_set_role(role_enum role_type_arg, const List< LEX_USER > *except_roles_arg)
Definition: sql_admin.h:252
const role_enum role_type
Definition: sql_admin.h:247
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:262
const List< LEX_USER > * except_roles
Definition: sql_admin.h:249
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:266
const List< LEX_USER > * role_list
Definition: sql_admin.h:248
Sql_cmd_shutdown represents the SHUTDOWN statement.
Definition: sql_admin.h:233
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:236
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:2031
Representation of an SQL command.
Definition: sql_cmd.h:81
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:33
Definition: table.h:2800
Fido Client Authentication nullptr
Definition: fido_client_plugin.cc:221
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:124
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:144
required uint64 port
Definition: replication_asynchronous_connection_failover.proto:32
alter_instance_action_enum
Definition: sql_admin.h:376
@ RELOAD_KEYRING
Definition: sql_admin.h:383
@ ALTER_INSTANCE_RELOAD_TLS_ROLLBACK_ON_ERROR
Definition: sql_admin.h:379
@ ROTATE_BINLOG_MASTER_KEY
Definition: sql_admin.h:380
@ ALTER_INSTANCE_DISABLE_INNODB_REDO
Definition: sql_admin.h:382
@ ALTER_INSTANCE_ENABLE_INNODB_REDO
Definition: sql_admin.h:381
@ LAST_ACTION
Definition: sql_admin.h:384
@ ROTATE_INNODB_MASTER_KEY
Definition: sql_admin.h:377
@ ALTER_INSTANCE_RELOAD_TLS
Definition: sql_admin.h:378
role_enum
Definition: sql_admin.h:239
Representation of an SQL command.
Definition: sql_admin.h:50
bool operator()(const String *lhs, const String *rhs) const
Definition: sql_admin.cc:108
Definition: keycache.h:72
Definition: table.h:2667
Definition: mysql_lex_string.h:39
Definition: mysql_lex_string.h:34
Definition: sql_plugin_ref.h:44