Description:
I tried to make the mysql plugin which refers InnoDB functions/variables/classes (e.g. new information_schema for InnoDB).
It seemed to work fine "except for Windows binary downloaded".
The mysqld.exe failed for the "INSTALL PLUGIN".
The reason is that the mysqld.exe doesn't have symbols of innobase.lib.
Today, InnoDB engine is always the part of mysqld.
Can the InnoDB symbols be exported also at mysqld.exe?
* I built also the mysqld.exe with InnoDB symbols and it succeeded to load the same plugin.
How to repeat:
Makes a mysql plugin to use InnoDB symbols directly.
(e.g. reference for global variables)
Suggested fix:
Add "innobase" also when generate the mysqld.def file for linker.
--- mysql-5.7.7-rc_orig/sql/CMakeLists.txt 2015-03-30 21:16:29 +0900
+++ mysql-5.7.7-rc/sql/CMakeLists.txt 2015-06-04 15:02:53 +0900
@@ -432,7 +432,7 @@
# incremental appears to crash from time to time,if used with /DEF option
SET_TARGET_PROPERTIES(mysqld PROPERTIES LINK_FLAGS "${mysqld_link_flags} /DEF:mysqld.def /INCREMENTAL:NO")
- FOREACH (CORELIB sql binlog slave mysys mysys_ssl dbug strings binlogevents_static)
+ FOREACH (CORELIB sql binlog slave mysys mysys_ssl dbug strings binlogevents_static innobase)
GET_TARGET_PROPERTY(LOC ${CORELIB} LOCATION)
FILE(TO_NATIVE_PATH ${LOC} LOC)
SET (LIB_LOCATIONS ${LIB_LOCATIONS} ${LOC})