23#ifndef SQL_TABLE_MAINTENANCE_H
24#define SQL_TABLE_MAINTENANCE_H
55#define SQL_ADMIN_MSG_TEXT_SIZE 128 * 1024
95 std::set<String *, Column_name_comparator, Mem_root_allocator<String *>>;
320 bool with_admin_option_arg)
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
Fido Client Authentication nullptr
Definition: fido_client_plugin.cc:221
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: mysql_lex_string.h:39
Definition: mysql_lex_string.h:34
Definition: sql_plugin_ref.h:44