diff --git a/include/m_ctype.h b/include/m_ctype.h index 641d0966f9e..5994816cbfc 100644 --- a/include/m_ctype.h +++ b/include/m_ctype.h @@ -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 MYSQL_PLUGIN_IMPORT my_charset_utf8_bin; +extern struct charset_info_st 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; diff --git a/include/my_default.h b/include/my_default.h index 12392424939..1d556de69ee 100644 --- a/include/my_default.h +++ b/include/my_default.h @@ -20,9 +20,9 @@ C_MODE_START -extern MYSQL_PLUGIN_IMPORT const char *my_defaults_extra_file; +extern const char *my_defaults_extra_file; extern const char *my_defaults_group_suffix; -extern MYSQL_PLUGIN_IMPORT const char *my_defaults_file; +extern const char *my_defaults_file; extern my_bool my_getopt_use_args_separator; extern my_bool my_getopt_is_args_separator(const char* arg); diff --git a/sql/mysqld.h b/sql/mysqld.h index 02e3184404b..dbc65cd2a43 100644 --- a/sql/mysqld.h +++ b/sql/mysqld.h @@ -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 MYSQL_PLUGIN_IMPORT bool volatile abort_loop; +extern 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 MYSQL_PLUGIN_IMPORT ulong thread_id; +extern 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 MYSQL_PLUGIN_IMPORT I_List threads; +extern I_List threads; extern char err_shared_dir[]; extern ulong connection_errors_select; extern ulong connection_errors_accept; diff --git a/sql/slave.h b/sql/slave.h index 946cc956c41..5cc02c8a10b 100644 --- a/sql/slave.h +++ b/sql/slave.h @@ -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 MYSQL_PLUGIN_IMPORT bool volatile abort_loop; +extern 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 MYSQL_PLUGIN_IMPORT I_List threads; +extern I_List threads; #else #define close_active_mi() /* no-op */ diff --git a/sql/sql_class.h b/sql/sql_class.h index 799a6088d3f..46eeeceb112 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -1094,8 +1094,8 @@ typedef struct st_xid_state { uint rm_error; } XID_STATE; -extern MYSQL_PLUGIN_IMPORT mysql_mutex_t LOCK_xid_cache; -extern MYSQL_PLUGIN_IMPORT HASH xid_cache; +extern mysql_mutex_t LOCK_xid_cache; +extern HASH xid_cache; bool xid_cache_init(void); void xid_cache_free(void); XID_STATE *xid_cache_search(XID *xid); diff --git a/storage/spider/spd_table.cc b/storage/spider/spd_table.cc index 2448ee661c5..ead335c07ea 100644 --- a/storage/spider/spd_table.cc +++ b/storage/spider/spd_table.cc @@ -6325,6 +6325,43 @@ 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 @@ -6341,6 +6378,7 @@ 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();