1#ifndef SQL_SERVERS_INCLUDED
2#define SQL_SERVERS_INCLUDED
Definition: sql_servers.h:37
FOREIGN_SERVER()
Definition: sql_servers.h:44
char * sport
Definition: sql_servers.h:42
char * password
Definition: sql_servers.h:42
char * server_name
Definition: sql_servers.h:39
char * scheme
Definition: sql_servers.h:42
char * owner
Definition: sql_servers.h:42
size_t server_name_length
Definition: sql_servers.h:41
char * socket
Definition: sql_servers.h:42
char * host
Definition: sql_servers.h:42
char * username
Definition: sql_servers.h:42
long port
Definition: sql_servers.h:40
char * db
Definition: sql_servers.h:42
This class represent server options as set by the parser.
Definition: sql_servers.h:71
void set_scheme(LEX_STRING scheme)
Definition: sql_servers.h:92
LEX_STRING m_password
Definition: sql_servers.h:81
const char * get_host() const
Definition: sql_servers.h:97
static const long PORT_NOT_SET
Definition: sql_servers.h:73
void store_new_server(TABLE *table) const
Create a record representing these server options, ready to be inserted into the mysql....
Definition: sql_servers.cc:593
const char * get_scheme() const
Definition: sql_servers.h:101
void set_host(LEX_STRING host)
Definition: sql_servers.h:88
void set_socket(LEX_STRING socket)
Definition: sql_servers.h:93
void reset()
Reset all strings to NULL and port to PORT_NOT_SET.
Definition: sql_servers.cc:462
void set_port(long port)
Definition: sql_servers.h:87
const char * get_password() const
Definition: sql_servers.h:100
void set_db(LEX_STRING db)
Definition: sql_servers.h:89
const char * get_socket() const
Definition: sql_servers.h:102
LEX_STRING m_socket
Definition: sql_servers.h:83
LEX_STRING m_host
Definition: sql_servers.h:78
LEX_STRING m_username
Definition: sql_servers.h:80
void store_altered_server(TABLE *table, FOREIGN_SERVER *existing) const
Create a record for updating a row in the mysql.servers table.
Definition: sql_servers.cc:626
bool insert_into_cache() const
Create a cache entry and insert it into the cache.
Definition: sql_servers.cc:482
void set_username(LEX_STRING username)
Definition: sql_servers.h:90
void set_owner(LEX_STRING owner)
Definition: sql_servers.h:94
LEX_STRING m_db
Definition: sql_servers.h:79
LEX_STRING m_server_name
Definition: sql_servers.h:74
const char * get_owner() const
Definition: sql_servers.h:103
long m_port
Definition: sql_servers.h:77
const char * get_db() const
Definition: sql_servers.h:98
bool update_cache(FOREIGN_SERVER *existing) const
Update a cache entry.
Definition: sql_servers.cc:528
void set_password(LEX_STRING password)
Definition: sql_servers.h:91
LEX_STRING m_scheme
Definition: sql_servers.h:82
const char * get_username() const
Definition: sql_servers.h:99
long get_port() const
Definition: sql_servers.h:96
LEX_STRING m_owner
Definition: sql_servers.h:84
This class implements the ALTER SERVER statement.
Definition: sql_servers.h:202
const Server_options * m_server_options
Server_options::m_server_name contains the name of the server to change.
Definition: sql_servers.h:209
Sql_cmd_alter_server(Server_options *server_options)
Definition: sql_servers.h:212
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_servers.h:215
bool execute(THD *thd) override
Alter an existing server by updating the matching row in the mysql.servers table and updating the cac...
Definition: sql_servers.cc:746
This class has common code for CREATE/ALTER/DROP SERVER statements.
Definition: sql_servers.h:148
TABLE * table
Definition: sql_servers.h:150
Sql_cmd_common_server()
Definition: sql_servers.h:152
~Sql_cmd_common_server() override=default
bool check_and_open_table(THD *thd)
Check permissions and open the mysql.servers table.
Definition: sql_servers.cc:643
This class implements the CREATE SERVER statement.
Definition: sql_servers.h:170
bool execute(THD *thd) override
Create a new server by inserting a row into the mysql.server table and creating a cache entry.
Definition: sql_servers.cc:678
Sql_cmd_create_server(Server_options *server_options)
Definition: sql_servers.h:180
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_servers.h:183
const Server_options * m_server_options
Server_options::m_server_name contains the name of the server to create.
Definition: sql_servers.h:177
This class implements the DROP SERVER statement.
Definition: sql_servers.h:234
bool execute(THD *thd) override
Drop an existing server by deleting the matching row from the mysql.servers table and removing the ca...
Definition: sql_servers.cc:823
Sql_cmd_drop_server(LEX_STRING server_name, bool if_exists)
Definition: sql_servers.h:242
enum_sql_command sql_command_code() const override
Return the command code for this statement.
Definition: sql_servers.h:247
bool m_if_exists
Is this DROP IF EXISTS?
Definition: sql_servers.h:239
LEX_STRING m_server_name
Name of server to drop.
Definition: sql_servers.h:236
Representation of an SQL command.
Definition: sql_cmd.h:65
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_ALTER_SERVER
Definition: my_sqlcommand.h:168
@ SQLCOM_DROP_SERVER
Definition: my_sqlcommand.h:167
@ SQLCOM_CREATE_SERVER
Definition: my_sqlcommand.h:166
static char * password
Definition: mysql_secure_installation.cc:56
const char * host
Definition: mysqladmin.cc:59
stdx::expected< native_handle_type, error_type > socket(int family, int sock_type, int protocol)
Definition: socket.h:63
Cursor end()
A past-the-end Cursor.
Definition: rules_table_service.cc:192
required uint64 port
Definition: replication_asynchronous_connection_failover.proto:33
Representation of an SQL command.
static MEM_ROOT mem
Definition: sql_servers.cc:99
FOREIGN_SERVER * get_server_by_name(MEM_ROOT *mem, const char *server_name, FOREIGN_SERVER *server_buffer)
Definition: sql_servers.cc:939
void servers_free(bool end=false)
Definition: sql_servers.cc:881
bool servers_init(THD *thd)
Definition: sql_servers.cc:191
bool servers_reload(THD *thd)
Definition: sql_servers.cc:284
The MEM_ROOT is a simple arena, where allocations are carved out of larger blocks.
Definition: my_alloc.h:83
Definition: mysql_lex_string.h:35
char * str
Definition: mysql_lex_string.h:36