Commit 69f1a321 authored by Vladislav Vaintroub's avatar Vladislav Vaintroub

Replace dynamic loading of mysqld.exe data for plugins, replace with MYSQL_PLUGIN_IMPORT

parent 911af69d
...@@ -516,7 +516,7 @@ extern struct charset_info_st my_charset_utf16le_general_ci; ...@@ -516,7 +516,7 @@ extern struct charset_info_st my_charset_utf16le_general_ci;
extern struct charset_info_st my_charset_utf32_bin; extern struct charset_info_st my_charset_utf32_bin;
extern struct charset_info_st my_charset_utf32_general_ci; extern struct charset_info_st my_charset_utf32_general_ci;
extern struct charset_info_st my_charset_utf32_unicode_ci; extern struct charset_info_st my_charset_utf32_unicode_ci;
extern struct charset_info_st my_charset_utf8_bin; extern struct charset_info_st MYSQL_PLUGIN_IMPORT my_charset_utf8_bin;
extern struct charset_info_st my_charset_utf8_general_mysql500_ci; extern struct charset_info_st my_charset_utf8_general_mysql500_ci;
extern struct charset_info_st my_charset_utf8_unicode_ci; extern struct charset_info_st my_charset_utf8_unicode_ci;
extern struct charset_info_st my_charset_utf8mb4_bin; extern struct charset_info_st my_charset_utf8mb4_bin;
......
...@@ -20,9 +20,9 @@ ...@@ -20,9 +20,9 @@
C_MODE_START C_MODE_START
extern const char *my_defaults_extra_file; extern MYSQL_PLUGIN_IMPORT const char *my_defaults_extra_file;
extern const char *my_defaults_group_suffix; extern const char *my_defaults_group_suffix;
extern const char *my_defaults_file; extern MYSQL_PLUGIN_IMPORT const char *my_defaults_file;
extern my_bool my_getopt_use_args_separator; extern my_bool my_getopt_use_args_separator;
extern my_bool my_getopt_is_args_separator(const char* arg); extern my_bool my_getopt_is_args_separator(const char* arg);
......
...@@ -92,7 +92,7 @@ extern bool opt_disable_networking, opt_skip_show_db; ...@@ -92,7 +92,7 @@ extern bool opt_disable_networking, opt_skip_show_db;
extern bool opt_skip_name_resolve; extern bool opt_skip_name_resolve;
extern bool opt_ignore_builtin_innodb; extern bool opt_ignore_builtin_innodb;
extern my_bool opt_character_set_client_handshake; extern my_bool opt_character_set_client_handshake;
extern bool volatile abort_loop; extern MYSQL_PLUGIN_IMPORT bool volatile abort_loop;
extern bool in_bootstrap; extern bool in_bootstrap;
extern uint connection_count; extern uint connection_count;
extern my_bool opt_safe_user_create; extern my_bool opt_safe_user_create;
...@@ -155,7 +155,7 @@ extern char log_error_file[FN_REFLEN], *opt_tc_log_file; ...@@ -155,7 +155,7 @@ extern char log_error_file[FN_REFLEN], *opt_tc_log_file;
extern const double log_10[309]; extern const double log_10[309];
extern ulonglong keybuff_size; extern ulonglong keybuff_size;
extern ulonglong thd_startup_options; extern ulonglong thd_startup_options;
extern ulong thread_id; extern MYSQL_PLUGIN_IMPORT ulong thread_id;
extern ulong binlog_cache_use, binlog_cache_disk_use; extern ulong binlog_cache_use, binlog_cache_disk_use;
extern ulong binlog_stmt_cache_use, binlog_stmt_cache_disk_use; extern ulong binlog_stmt_cache_use, binlog_stmt_cache_disk_use;
extern ulong aborted_threads,aborted_connects; extern ulong aborted_threads,aborted_connects;
...@@ -226,7 +226,7 @@ extern MYSQL_FILE *bootstrap_file; ...@@ -226,7 +226,7 @@ extern MYSQL_FILE *bootstrap_file;
extern my_bool old_mode; extern my_bool old_mode;
extern LEX_STRING opt_init_connect, opt_init_slave; extern LEX_STRING opt_init_connect, opt_init_slave;
extern int bootstrap_error; extern int bootstrap_error;
extern I_List<THD> threads; extern MYSQL_PLUGIN_IMPORT I_List<THD> threads;
extern char err_shared_dir[]; extern char err_shared_dir[];
extern ulong connection_errors_select; extern ulong connection_errors_select;
extern ulong connection_errors_accept; extern ulong connection_errors_accept;
......
...@@ -244,7 +244,7 @@ void slave_output_error_info(rpl_group_info *rgi, THD *thd); ...@@ -244,7 +244,7 @@ void slave_output_error_info(rpl_group_info *rgi, THD *thd);
pthread_handler_t handle_slave_sql(void *arg); pthread_handler_t handle_slave_sql(void *arg);
bool net_request_file(NET* net, const char* fname); bool net_request_file(NET* net, const char* fname);
extern bool volatile abort_loop; extern MYSQL_PLUGIN_IMPORT bool volatile abort_loop;
extern Master_info *active_mi; /* active_mi for multi-master */ extern Master_info *active_mi; /* active_mi for multi-master */
extern Master_info *default_master_info; /* To replace active_mi */ extern Master_info *default_master_info; /* To replace active_mi */
extern Master_info_index *master_info_index; extern Master_info_index *master_info_index;
...@@ -258,7 +258,7 @@ extern uint report_port; ...@@ -258,7 +258,7 @@ extern uint report_port;
extern char *master_info_file, *report_user; extern char *master_info_file, *report_user;
extern char *report_host, *report_password; extern char *report_host, *report_password;
extern I_List<THD> threads; extern MYSQL_PLUGIN_IMPORT I_List<THD> threads;
#else #else
#define close_active_mi() /* no-op */ #define close_active_mi() /* no-op */
......
...@@ -1094,8 +1094,8 @@ typedef struct st_xid_state { ...@@ -1094,8 +1094,8 @@ typedef struct st_xid_state {
uint rm_error; uint rm_error;
} XID_STATE; } XID_STATE;
extern mysql_mutex_t LOCK_xid_cache; extern MYSQL_PLUGIN_IMPORT mysql_mutex_t LOCK_xid_cache;
extern HASH xid_cache; extern MYSQL_PLUGIN_IMPORT HASH xid_cache;
bool xid_cache_init(void); bool xid_cache_init(void);
void xid_cache_free(void); void xid_cache_free(void);
XID_STATE *xid_cache_search(XID *xid); XID_STATE *xid_cache_search(XID *xid);
......
...@@ -153,7 +153,7 @@ typedef int (*plugin_type_init)(struct st_plugin_int *); ...@@ -153,7 +153,7 @@ typedef int (*plugin_type_init)(struct st_plugin_int *);
extern I_List<i_string> *opt_plugin_load_list_ptr; extern I_List<i_string> *opt_plugin_load_list_ptr;
extern char *opt_plugin_dir_ptr; extern char *opt_plugin_dir_ptr;
extern char opt_plugin_dir[FN_REFLEN]; extern MYSQL_PLUGIN_IMPORT char opt_plugin_dir[FN_REFLEN];
extern const LEX_STRING plugin_type_names[]; extern const LEX_STRING plugin_type_names[];
extern ulong plugin_maturity; extern ulong plugin_maturity;
extern TYPELIB plugin_maturity_values; extern TYPELIB plugin_maturity_values;
......
...@@ -105,19 +105,7 @@ PQRYRES OEMColumns(PGLOBAL g, PTOS topt, char *tab, char *db, bool info); ...@@ -105,19 +105,7 @@ PQRYRES OEMColumns(PGLOBAL g, PTOS topt, char *tab, char *db, bool info);
/***********************************************************************/ /***********************************************************************/
char *GetPluginDir(void) char *GetPluginDir(void)
{ {
char *plugin_dir; return opt_plugin_dir;
#if defined(_WIN64)
plugin_dir = (char *)GetProcAddress(GetModuleHandle(NULL),
"?opt_plugin_dir@@3PADEA");
#elif defined(_WIN32)
plugin_dir = (char*)GetProcAddress(GetModuleHandle(NULL),
"?opt_plugin_dir@@3PADA");
#else
plugin_dir = opt_plugin_dir;
#endif
return plugin_dir;
} // end of GetPluginDir } // end of GetPluginDir
/***********************************************************************/ /***********************************************************************/
......
...@@ -6325,43 +6325,6 @@ int spider_db_init( ...@@ -6325,43 +6325,6 @@ int spider_db_init(
memset(&spider_alloc_mem_count, 0, sizeof(spider_alloc_mem_count)); memset(&spider_alloc_mem_count, 0, sizeof(spider_alloc_mem_count));
memset(&spider_free_mem_count, 0, sizeof(spider_free_mem_count)); memset(&spider_free_mem_count, 0, sizeof(spider_free_mem_count));
#ifdef _WIN32
HMODULE current_module = GetModuleHandle(NULL);
spd_db_att_thread_id = (ulong *)
GetProcAddress(current_module, "?thread_id@@3KA");
#ifdef SPIDER_XID_USES_xid_cache_iterate
#else
#ifdef XID_CACHE_IS_SPLITTED
spd_db_att_xid_cache_split_num = (uint *)
GetProcAddress(current_module,
"?opt_xid_cache_split_num@@3IA");
spd_db_att_LOCK_xid_cache = *((pthread_mutex_t **)
GetProcAddress(current_module,
"?LOCK_xid_cache@@3PAUst_mysql_mutex@@A"));
spd_db_att_xid_cache = *((HASH **)
GetProcAddress(current_module, "?xid_cache@@3PAUst_hash@@A"));
#else
spd_db_att_LOCK_xid_cache = (pthread_mutex_t *)
#if MYSQL_VERSION_ID < 50500
GetProcAddress(current_module,
"?LOCK_xid_cache@@3U_RTL_CRITICAL_SECTION@@A");
#else
GetProcAddress(current_module,
"?LOCK_xid_cache@@3Ust_mysql_mutex@@A");
#endif
spd_db_att_xid_cache = (HASH *)
GetProcAddress(current_module, "?xid_cache@@3Ust_hash@@A");
#endif
#endif
spd_charset_utf8_bin = (struct charset_info_st *)
GetProcAddress(current_module, "my_charset_utf8_bin");
spd_defaults_extra_file = (const char **)
GetProcAddress(current_module, "my_defaults_extra_file");
spd_defaults_file = (const char **)
GetProcAddress(current_module, "my_defaults_file");
spd_abort_loop = (bool volatile *)
GetProcAddress(current_module, "?abort_loop@@3_NC");
#else
spd_db_att_thread_id = &thread_id; spd_db_att_thread_id = &thread_id;
#ifdef SPIDER_XID_USES_xid_cache_iterate #ifdef SPIDER_XID_USES_xid_cache_iterate
#else #else
...@@ -6378,7 +6341,6 @@ int spider_db_init( ...@@ -6378,7 +6341,6 @@ int spider_db_init(
spd_defaults_extra_file = &my_defaults_extra_file; spd_defaults_extra_file = &my_defaults_extra_file;
spd_defaults_file = &my_defaults_file; spd_defaults_file = &my_defaults_file;
spd_abort_loop = &abort_loop; spd_abort_loop = &abort_loop;
#endif
#ifdef HAVE_PSI_INTERFACE #ifdef HAVE_PSI_INTERFACE
init_spider_psi_keys(); init_spider_psi_keys();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment