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;
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_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_unicode_ci;
extern struct charset_info_st my_charset_utf8mb4_bin;
......
......@@ -20,9 +20,9 @@
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_file;
extern MYSQL_PLUGIN_IMPORT const char *my_defaults_file;
extern my_bool my_getopt_use_args_separator;
extern my_bool my_getopt_is_args_separator(const char* arg);
......
......@@ -92,7 +92,7 @@ extern bool opt_disable_networking, opt_skip_show_db;
extern bool opt_skip_name_resolve;
extern bool opt_ignore_builtin_innodb;
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 uint connection_count;
extern my_bool opt_safe_user_create;
......@@ -155,7 +155,7 @@ extern char log_error_file[FN_REFLEN], *opt_tc_log_file;
extern const double log_10[309];
extern ulonglong keybuff_size;
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_stmt_cache_use, binlog_stmt_cache_disk_use;
extern ulong aborted_threads,aborted_connects;
......@@ -226,7 +226,7 @@ extern MYSQL_FILE *bootstrap_file;
extern my_bool old_mode;
extern LEX_STRING opt_init_connect, opt_init_slave;
extern int bootstrap_error;
extern I_List<THD> threads;
extern MYSQL_PLUGIN_IMPORT I_List<THD> threads;
extern char err_shared_dir[];
extern ulong connection_errors_select;
extern ulong connection_errors_accept;
......
......@@ -244,7 +244,7 @@ void slave_output_error_info(rpl_group_info *rgi, THD *thd);
pthread_handler_t handle_slave_sql(void *arg);
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 *default_master_info; /* To replace active_mi */
extern Master_info_index *master_info_index;
......@@ -258,7 +258,7 @@ extern uint report_port;
extern char *master_info_file, *report_user;
extern char *report_host, *report_password;
extern I_List<THD> threads;
extern MYSQL_PLUGIN_IMPORT I_List<THD> threads;
#else
#define close_active_mi() /* no-op */
......
......@@ -1094,8 +1094,8 @@ typedef struct st_xid_state {
uint rm_error;
} XID_STATE;
extern mysql_mutex_t LOCK_xid_cache;
extern HASH xid_cache;
extern MYSQL_PLUGIN_IMPORT mysql_mutex_t LOCK_xid_cache;
extern MYSQL_PLUGIN_IMPORT HASH xid_cache;
bool xid_cache_init(void);
void xid_cache_free(void);
XID_STATE *xid_cache_search(XID *xid);
......
......@@ -153,7 +153,7 @@ typedef int (*plugin_type_init)(struct st_plugin_int *);
extern I_List<i_string> *opt_plugin_load_list_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 ulong plugin_maturity;
extern TYPELIB plugin_maturity_values;
......
......@@ -105,19 +105,7 @@ PQRYRES OEMColumns(PGLOBAL g, PTOS topt, char *tab, char *db, bool info);
/***********************************************************************/
char *GetPluginDir(void)
{
char *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;
return opt_plugin_dir;
} // end of GetPluginDir
/***********************************************************************/
......
......@@ -6325,43 +6325,6 @@ int spider_db_init(
memset(&spider_alloc_mem_count, 0, sizeof(spider_alloc_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;
#ifdef SPIDER_XID_USES_xid_cache_iterate
#else
......@@ -6378,7 +6341,6 @@ int spider_db_init(
spd_defaults_extra_file = &my_defaults_extra_file;
spd_defaults_file = &my_defaults_file;
spd_abort_loop = &abort_loop;
#endif
#ifdef HAVE_PSI_INTERFACE
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