What a surprisingly busy week.
Spent quite a lot of time tracking down a linking problem on
Itanium. It appears that GNU ld 2.14 has some serious
deficiencies. GNU ld 2.17 (the current stable release) does fix
the problem. Unfortunately, the last supported version of GNU ld
on RedHat AS 3 for Itaniam is version 2.14.90.0.4.20030529 -
which clearly cannot contain the fix which was written in
November of 2003. I suppose what to do is now a decision to be
made by someone else.
Also spent some time with Federated - Bulk insert support within
the storage engine and also how to make Federated play better
with transactions and network overhead. Have to put together a
new WorkLog entry if I cannot find a relevant one. I need to work
on writing better changeset comments. Ingo says, and I have to
admit that I agree a bit, that my comments assume that the reader
is familiar with the code and bug in question. I need to make
them a …
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 …
It has been very productive this week working at Brian's place in
Seattle. No sightseeing this trip but had an enjoyable experience
talking with other developers and users at the MySQL meetup
session.
I have been working on developing a flexible Log Plugin system
which hopefully does not have the drawbacks of the existing
system. The new code seems to be working well now although it is
not tied into any system variables in a way to show off what it
can do. My patch earlier on Wednesday replaced about 2500 LOC
with about 500. Even after the code written today, there is still
a significant reduction in the overall code size. Now, all I need
is my plugin server variables patch pushed...
I find myself thinking about Federated and about how to improve it's connection pooling. Whatever is done should be made safe for transctions. Unfortunately, we cannot suspend and join XA transactions which is a pity as it would make it much easier.
WL#2936 has been updated - the spec has been bought into line
with the code and the code has been updated to be in sync with
main 5.1.
Time to start to look into the bugs I have waiting for me... And
to propose my sprint tasks for January '07.
The modular concept of MySQL that separates the storage engines
from the SQL parser and optimizer has recently caused a number of
new, independently developed storage engines to surface. Here's
an incomplete selection of projects around this concept:
- DDE - Distributed Data Engine, a research project of the Technical University of Dresden
- mdbtools - a storage engine that allows readonly access to Microsoft Access .mdb database files
- PBXT - a new, transactional storage engine by Paul McCullagh
- ritmarkFS - a storage engine that represents the content of a directory as a table
- …