mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Bug#25721
"Concurrent ALTER/CREATE SERVER can lead to deadlock" Deadlock caused by inconsistant use of mutexes in sql_server.cc One mutex has been removed to resolve deadlock. Many functions were made private which should not be exported. Unused variables and function removed.
This commit is contained in:

parent
32da2907f8
commit
14ccc65994
@ -25,40 +25,18 @@ typedef struct st_federated_server
|
||||
} FOREIGN_SERVER;
|
||||
|
||||
/* cache handlers */
|
||||
my_bool servers_init(bool dont_read_server_table);
|
||||
my_bool servers_reload(THD *thd);
|
||||
my_bool get_server_from_table_to_cache(TABLE *table);
|
||||
bool servers_init(bool dont_read_server_table);
|
||||
bool servers_reload(THD *thd);
|
||||
void servers_free(bool end=0);
|
||||
|
||||
/* insert functions */
|
||||
int create_server(THD *thd, LEX_SERVER_OPTIONS *server_options);
|
||||
int insert_server(THD *thd, FOREIGN_SERVER *server_options);
|
||||
int insert_server_record(TABLE *table, FOREIGN_SERVER *server);
|
||||
int insert_server_record_into_cache(FOREIGN_SERVER *server);
|
||||
void store_server_fields_for_insert(TABLE *table, FOREIGN_SERVER *server);
|
||||
void store_server_fields_for_insert(TABLE *table,
|
||||
FOREIGN_SERVER *existing,
|
||||
FOREIGN_SERVER *altered);
|
||||
int prepare_server_struct_for_insert(LEX_SERVER_OPTIONS *server_options,
|
||||
FOREIGN_SERVER *server);
|
||||
|
||||
/* drop functions */
|
||||
int drop_server(THD *thd, LEX_SERVER_OPTIONS *server_options);
|
||||
int delete_server_record(TABLE *table,
|
||||
char *server_name,
|
||||
int server_name_length);
|
||||
int delete_server_record_in_cache(LEX_SERVER_OPTIONS *server_options);
|
||||
|
||||
/* update functions */
|
||||
int alter_server(THD *thd, LEX_SERVER_OPTIONS *server_options);
|
||||
int prepare_server_struct_for_update(LEX_SERVER_OPTIONS *server_options,
|
||||
FOREIGN_SERVER *existing,
|
||||
FOREIGN_SERVER *altered);
|
||||
int update_server(THD *thd, FOREIGN_SERVER *existing, FOREIGN_SERVER *altered);
|
||||
int update_server_record(TABLE *table, FOREIGN_SERVER *server);
|
||||
int update_server_record_in_cache(FOREIGN_SERVER *existing,
|
||||
FOREIGN_SERVER *altered);
|
||||
/* utility functions */
|
||||
void merge_server_struct(FOREIGN_SERVER *from, FOREIGN_SERVER *to);
|
||||
|
||||
/* lookup functions */
|
||||
FOREIGN_SERVER *get_server_by_name(const char *server_name);
|
||||
my_bool server_exists_in_table(THD *thd, char *server_name);
|
||||
|
Reference in New Issue
Block a user