List:Commits« Previous MessageNext Message »
From:Vladislav Vaintroub Date:March 29 2011 11:21am
Subject:RE: bzr commit into mysql-5.5 branch (daniel.fischer:3373) Bug#11769332
View as plain text  
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)
> Bug#11769332
> 
> 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
fixes as

- 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
debug builds.
- 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
workaround :)

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.

Wlad


Thread
bzr commit into mysql-5.5 branch (daniel.fischer:3373) Bug#11769332Daniel Fischer17 Mar
Re: bzr commit into mysql-5.5 branch (daniel.fischer:3373) Bug#11769332Tor Didriksen29 Mar
  • RE: bzr commit into mysql-5.5 branch (daniel.fischer:3373) Bug#11769332Vladislav Vaintroub29 Mar
    • Re: bzr commit into mysql-5.5 branch (daniel.fischer:3373) Bug#11769332Tor Didriksen30 Mar