Hi Daniel and Tor
> -----Original Message-----
> From: Tor Didriksen [mailto:didrik@stripped]
> Sent: Dienstag, 29. März 2011 10:56
> To: Daniel Fischer
> Cc: commits@stripped
> Subject: Re: bzr commit into mysql-5.5 branch (daniel.fischer:3373)
> 2011/3/17 Daniel Fischer <daniel.fischer@stripped>
> > #At file:///Users/df/bzr2/mysql-5.5-11769332/ based on
> > revid:serge.kozlov@stripped
> > 3373 Daniel Fischer 2011-03-17
> > Bug#11769332: Debug server can't load plugins on Windows.
> > Now it can. :)
> Hi Daniel
> I *think* i understand what you are doing, but not why.
> Can you please add per-file comments.
This approach is correct however it will break more than it fixes(the next
bugs will be "mtr, mysql_install_db and mysqld_safe are non-functional in
the debug build" , "Debug server can't load optimized storage engine plugin
on Windows" etc.
The SE plugins have lost some of their mojo in the recent times, so likely
the priority of that bug is minimal and the workaround is known (backup
mysqld.exe and rename mysqld-debug.exe to mysqld.exe). There are couple of
ways to fix that bug, if one really needs to fix it. I'd classify possible
- Ideal, i.e not realistic: fix storage engine plugins not to depend on
server exports. This is "server plugin api" that will likely be finished in
the next century.
- Clean: instead of mysqld-debug, just provide separate debug package for
- Acceptable: instead of having mysqld-debug.exe in the bin directory,
package mysqld.exe from debug build into bin\debug directory (or better into
bin-debug, so windows-specific way to calculate "basedir" based on location
of currently running executable still works). This requires changes in
documentation, and in mtr --debug-server
- Hackish: Use delay load support provided by linker. Within storage engine
plugins, delay-load server exports and resolve module name using custom
routine , which maps mysqld.exe to currently running executable.
- Simple: do nothing. Document the mysqld-debug.exe=>mysqld.exe renaming
But your fix, that always builds mysqld in debug version as mysqld-debug
just seems too intrusive, to me. I looked at this, and considered this in
the past but opted not to do that.