summaryrefslogtreecommitdiff
path: root/include/m_ctype.h
diff options
context:
space:
mode:
authorVladislav Vaintroub <wlad@mariadb.com>2020-04-10 14:09:18 +0200
committerVladislav Vaintroub <wlad@mariadb.com>2020-04-10 19:05:26 +0200
commit93efbc390d13cb84fec4fad76a2c8b4d9e965fe8 (patch)
tree2714a647b650545cd8c742581f790ea541828686 /include/m_ctype.h
parent38f7dbec19988ffbfd6fbcbf86bc8f69c51db117 (diff)
downloadmariadb-git-93efbc390d13cb84fec4fad76a2c8b4d9e965fe8.tar.gz
MDEV-22214 mariadbd.exe calls function mysqld.exe, and crashes
Stop linking plugins to the server executable on Windows. Instead, extract whole server functionality into a large DLL, called server.dll. Link both plugins, and small server "stub" exe to it. This eliminates plugin dependency on the name of the server executable. It also reduces the size of the packages (since tiny mysqld.exe and mariadbd.exe are now both linked to one big DLL) Also, simplify the functionality of exporing all symbols from selected static libraries. Rely on WINDOWS_EXPORT_ALL_SYMBOLS, rather than old self-backed solution. fix compile error replace GetProcAddress(GetModuleHandle(NULL), "variable_name") for server exported data with actual variable names. Runtime loading was never required,was error prone , since symbols could be missing at runtime, and now it actually failed, because we do not export symbols from executable anymore, but from a shared library This did require a MYSQL_PLUGIN_IMPORT decoration for the plugin, but made the code more straightforward, and avoids missing symbols at runtime (as mentioned before). The audit plugin is still doing some dynamic loading, as it aims to work cross-version. Now it won't work cross-version on Windows, as it already uses some symbols that are *not* dynamically loaded, e.g fn_format and those symbols now exported from server.dll , when earlier they were exported by mysqld.exe Windows, fixes for storage engine plugin loading after various rebranding stuff Create server.dll containing functionality of the whole server make mariadbd.exe/mysqld.exe a stub that is only calling mysqld_main() fix build
Diffstat (limited to 'include/m_ctype.h')
-rw-r--r--include/m_ctype.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/m_ctype.h b/include/m_ctype.h
index 8dcdb79ce2e..802c00908a9 100644
--- a/include/m_ctype.h
+++ b/include/m_ctype.h
@@ -1158,7 +1158,7 @@ extern struct charset_info_st my_charset_utf32_unicode_ci;
extern struct charset_info_st my_charset_utf32_unicode_nopad_ci;
extern struct charset_info_st my_charset_utf32_nopad_bin;
extern struct charset_info_st my_charset_utf32_general_nopad_ci;
-extern struct charset_info_st my_charset_utf8mb3_bin;
+extern MYSQL_PLUGIN_IMPORT struct charset_info_st my_charset_utf8mb3_bin;
extern struct charset_info_st my_charset_utf8mb3_nopad_bin;
extern struct charset_info_st my_charset_utf8mb3_general_nopad_ci;
extern struct charset_info_st my_charset_utf8mb3_general_mysql500_ci;