Search This Blog

Loading...

22 May 2007

Been busy,

I have been very busy this past months, with both personal crisis and mega-patches. This is my MySQL blog so lets keep it to topic.
A couple of weeks ago, the plugins mega-patch was finally pushed and was released to the world in version 5.1.18. Thanks to Ingo and Sergei for keeping up the effort while I was occupied. As part of the code push, InnoDB code was stripped out of the main mysqld code and stored where it belongs, within Innobase's code. This is an exciting development as it now makes it easier than ever for plugin developers to create plugins without having to modify any existing code within mysqld. It has taken many months to get to this point but we are finally there. Anyone remember our CEO announcing the plugin initutive back when Innobase was acquired by Oracle? October 2005, I believe.

Since that push, I am back on bug-fixing... I have an annoying bug on Itanic with Intel's Itanic Compiler. (Yeah, I know the name is Itanium) The ELF fixups required for the embedded library are not being generated correctly because it uses a 22bit word as an offset and the code footprint is more than 4MB. It is quite likely that the fault lies in the version of Binutils used but for some reason, a recent binutils is not supported by the particular license of RedHat AS we have installed there.

On the bright side, I had some encouraging chats with Eric Herman... and after an excitingly short evening of coding, I have developed a PoC of external stored procedures support in mysqld. All that needs to be done now are the actual plugins to support particular types of external procedures - Eric wants to carry the baton for Java... I think I shall play with C. That should prove interesting as it will require using libtcc to create on-the-fly trampoline code so that native C functions can be called.

Something which deserves a minor mention: I have successfully compiled and tested Jim Starkey's Falcon Storage Engine for MySQL on a Quad PowerPC G5 Mac running Mac OS/X 10.4.9.
Post a Comment