This post was shared on code.google.com many years ago but code.google has been shutdown. It describes work done by my team at Google. I am interested in the history of technology and with some spare time have been enable to republish it.
This describes the patch for MySQL 5.0 provided by my team at Google. The early patches from us were difficult for others because they tended to include too many diffs. I didn't have time to better.
The code has been changed to make MySQL more manageable, available and scaleable. Many problems remain to be solved to improve SMP performance. This is a good start. The v3 patch and all future patches will be published with a BSD license which applies to code we have added and changed. Original MySQL sources has a GPL license.
I am not sure if the patches were lost after the googlecode shutdown .
These have the same functionality as the MySQL 4 patches. There are several patch sets:
Feedback, Problems and Comments
Use the deprecated Google group.
We have changed a lot of code. Not all of the changes are described here and some of the changes to default behavior from new my.cnf variables can break your applications. Unless your name rhymes with Domas, it might be better to take pieces of the patch rather than try to use all of it.
The code has been tested on 32-bit and 64-bit Linux x86. We may have broken the build for other platforms.
The embedded server, *--with-embedded-server*, cannot be built with these changes. We have broken the build for it.
Many of the Makefile.in and Makefile.am files have been changed in the big patch because we changed InnoDB to use the top-level configure.
If you try to install the big patch, treat it like [http://dev.mysql.com/doc/refman/5.0/en/installing-source-tree.html installing from a source tree].
Many people contributed to this:
The v2 patch
This has many new features and a few non-features. Embedded MySQL will not work with this patch.
The v3 patch
This has many new features and a few non-features. Embedded MySQL will not work with this patch. Also, I generated the patch after running 'make distclean' so there are some files that must be regenerated after this patch is applied, including sql_yacc.cc and sql_yacc.h. By doing this, the patch diff is smaller but maybe a bit confusing. Also, I did not update any of the files in libmysqld/ that are copied from sql/.
The v4 patch
This makes InnoDB much faster on IO bound workloads and fixes bugs in new features.
Not yet released