24#ifndef SQL_TABLE_MAINTENANCE_H
25#define SQL_TABLE_MAINTENANCE_H
56#define SQL_ADMIN_MSG_TEXT_SIZE 128 * 1024
96 std::set<String *, Column_name_comparator, Mem_root_allocator<String *>>;
306 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:33
Clone plugin handler to convenient way to.
Definition: clone_handler.h:54
Definition: sql_list.h:434
Top-level node for the ALTER INSTANCE statement.
Definition: parse_tree_nodes.h:2019
Definition: parse_tree_nodes.h:3010
Definition: parse_tree_nodes.h:2866
Definition: parse_tree_nodes.h:2876
Definition: parse_tree_nodes.h:2886
Definition: sql_admin.h:379
enum alter_instance_action_enum alter_instance_action
Definition: sql_admin.h:381
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:1919
LEX_CSTRING channel_name_
Definition: sql_admin.h:382
Sql_cmd_alter_instance(enum alter_instance_action_enum alter_instance_action_arg, const LEX_CSTRING &channel_name)
Definition: sql_admin.h:386
Alter_instance * alter_instance
Definition: sql_admin.h:383
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:394
Sql_cmd_alter_user_default_role ALTER USER ... DEFAULT ROLE ... statement.
Definition: sql_admin.h:338
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:347
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:357
const bool if_exists
Definition: sql_admin.h:341
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:2327
const List< LEX_USER > * roles
Definition: sql_admin.h:343
const role_enum role_type
Definition: sql_admin.h:344
const List< LEX_USER > * users
Definition: sql_admin.h:342
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.
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:293
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:303
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:621
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:1716
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:349
bool set_histogram_fields(List< String > *fields)
Set which fields to (try and) create/update or delete histogram statistics for.
Definition: sql_admin.cc:1610
bool handle_histogram_command(THD *thd, Table_ref *table)
Definition: sql_admin.cc:1625
Sql_cmd_check_table represents the CHECK TABLE statement.
Definition: sql_admin.h:177
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:183
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:1755
Sql_cmd_clone implements CLONE ... statement.
Definition: sql_admin.h:403
bool execute_server(THD *thd)
Execute clone server.
Definition: sql_admin.cc:2116
bool is_local() const
Definition: sql_admin.h:453
Sql_cmd_clone(LEX_CSTRING data_dir)
Construct clone command for local clone.
Definition: sql_admin.h:423
LEX_CSTRING m_data_dir
Data directory for cloned data.
Definition: sql_admin.h:469
Sql_cmd_clone()
Construct clone command for clone server.
Definition: sql_admin.h:406
bool load(THD *thd)
Load clone plugin for clone server.
Definition: sql_admin.cc:2093
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:1975
bool rewrite(THD *thd, String &rlb)
Re-write clone statement to hide password.
Definition: sql_admin.cc:2154
Clone_handler * m_clone
Clone handle in server.
Definition: sql_admin.h:472
LEX_CSTRING m_passwd
Password for remote connection.
Definition: sql_admin.h:466
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:432
LEX_CSTRING m_host
Remote server IP.
Definition: sql_admin.h:457
plugin_ref m_plugin
Loaded clone plugin reference.
Definition: sql_admin.h:475
bool m_is_local
If it is local clone operation.
Definition: sql_admin.h:478
LEX_CSTRING m_user
User name for remote connection.
Definition: sql_admin.h:463
const ulong m_port
Remote server port.
Definition: sql_admin.h:460
Sql_cmd_create_role represetns the CREATE ROLE ... statement.
Definition: sql_admin.h:258
const List< LEX_USER > * roles
Definition: sql_admin.h:262
const bool if_not_exists
Definition: sql_admin.h:261
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:270
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:2197
Sql_cmd_create_role(bool if_not_exists_arg, const List< LEX_USER > *roles_arg)
Definition: sql_admin.h:265
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 represetns the DROP ROLE ... statement.
Definition: sql_admin.h:278
const List< LEX_USER > * roles
Definition: sql_admin.h:282
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:2247
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:290
bool ignore_errors
Definition: sql_admin.h:281
Sql_cmd_drop_role(bool ignore_errors_arg, const List< LEX_USER > *roles_arg)
Definition: sql_admin.h:285
Sql_cmd_grant_roles represents the GRANT role-list TO ... statement.
Definition: sql_admin.h:298
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:304
const List< LEX_USER > * users
Definition: sql_admin.h:300
const List< LEX_USER > * roles
Definition: sql_admin.h:299
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:312
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:2307
const bool with_admin_option
Definition: sql_admin.h:301
Sql_cmd_optimize_table represents the OPTIMIZE 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:1776
Sql_cmd_repair_table represents the REPAIR TABLE statement.
Definition: sql_admin.h:207
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:1804
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:213
Sql_cmd_revoke_roles represents the REVOKE [role list] TO ... statement.
Definition: sql_admin.h:320
Sql_cmd_revoke_roles(const List< LEX_USER > *roles_arg, const List< LEX_USER > *users_arg)
Definition: sql_admin.h:325
const List< LEX_USER > * users
Definition: sql_admin.h:322
const List< LEX_USER > * roles
Definition: sql_admin.h:321
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:330
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:2317
Sql_cmd_set_role represetns the SET ROLE ... statement.
Definition: sql_admin.h:230
Sql_cmd_set_role(role_enum role_type_arg, const List< LEX_USER > *except_roles_arg)
Definition: sql_admin.h:238
const role_enum role_type
Definition: sql_admin.h:233
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:2269
Sql_cmd_set_role(const List< LEX_USER > *role_arg)
Definition: sql_admin.h:248
const List< LEX_USER > * except_roles
Definition: sql_admin.h:235
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:252
const List< LEX_USER > * role_list
Definition: sql_admin.h:234
Sql_cmd_shutdown represents the SHUTDOWN statement.
Definition: sql_admin.h:219
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_admin.h:222
bool execute(THD *thd) override
Execute this SQL statement.
Definition: sql_admin.cc:1832
Representation of an SQL command.
Definition: sql_cmd.h:65
Using this class is fraught with peril, and you need to be very careful when doing so.
Definition: sql_string.h:168
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:34
Fido Client Authentication nullptr
Definition: fido_client_plugin.cc:222
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
struct passwd * user_info
Definition: mysql_ssl_rsa_setup.cc:125
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:33
alter_instance_action_enum
Definition: sql_admin.h:362
@ RELOAD_KEYRING
Definition: sql_admin.h:369
@ ALTER_INSTANCE_RELOAD_TLS_ROLLBACK_ON_ERROR
Definition: sql_admin.h:365
@ ROTATE_BINLOG_MASTER_KEY
Definition: sql_admin.h:366
@ ALTER_INSTANCE_DISABLE_INNODB_REDO
Definition: sql_admin.h:368
@ ALTER_INSTANCE_ENABLE_INNODB_REDO
Definition: sql_admin.h:367
@ LAST_ACTION
Definition: sql_admin.h:370
@ ROTATE_INNODB_MASTER_KEY
Definition: sql_admin.h:363
@ ALTER_INSTANCE_RELOAD_TLS
Definition: sql_admin.h:364
role_enum
Definition: sql_admin.h:225
Representation of an SQL command.
Definition: sql_admin.h:51
bool operator()(const String *lhs, const String *rhs) const
Definition: sql_admin.cc:104
Definition: keycache.h:73
Definition: mysql_lex_string.h:40
Definition: mysql_lex_string.h:35
Definition: sql_plugin_ref.h:45