Wednesday, January 31, 2007

PBXT 0.9.8 Beta with Referential Integrity released!

I have just released version 0.9.8 of the PrimeBase XT storage engine for MySQL 5.1. The major feature of this new version is foreign key support. As far as I know, this makes PBXT the first 3rd party storage engine to fully implement referential integrity, and the second after InnoDB.

With this version PBXT is practically feature complete. Only CHECK TABLE remains to be implemented for the first GA release (see pbxt-to-do.txt for details). So my plan to complete the PBXT GA release on time for MySQL 5.1 GA looks quite doable (especially now that I have heard MySQL 5.1 GA has been pushed to 3rd quarter 2007).

The latest package can be downloaded from or I have updated the instructions on how to build and install PBXT as a pluggable storage engine: how-to-build.txt. This text also explains how to download and build MySQL 5.1.14.

Although building everything from source code is relatively straight forward I plan to make binary versions of the plug-in available for MySQL 5.1.14 shortly. So a quick test drive of PBXT is about to become easier than ever...


Peter Laursen said...

Was it possibsle to make that coming binary plugin work with MySQL 5.2.0 too?

We are in the process of gathering possible issues with SQLyog and the new Storage Engines 'popping up'. We know that we do not support Foreign Keys with PrimeXT at the moment (there is a hardcoded check in the code whether the table is InnoDB at the moment), but we will of course adjust this as well as other possible issues as soon as we have had a chance the latest PrimeXT build. It would be practical for us to be able run Falcon and PrimeXT at the same time!


Peter Laursen

Paul McCullagh said...

Hi Peter,

Will do! I am not sure if the 5.1 plug-in will work with 5.2. If not, then I will post a binary for 5.2 as well. :)

ZUrlocker said...

Paul, congrats on the new beta. I will also post something on my blog.

Hope to see you at the users conference in April

Paul McCullagh said...

Hi Zack,


It would be great if you could put in a plug for my sessions at the conference:

PrimeBase XT: Design and Implementation of a Transactional Storage Engine, Lightning Rounds with Top MySQL Community Contributors and Panel: State of the Partner Engines :)

Omni said...

Hi Paul

First of all many a thanks and congratulations for providing the mysql world, a classy engine that can even replace InnoDB for most of the practical performance requirements.

I was able to build and use the engine (pbxt 0.9.91-beta) against mysql 5.1.22rc, but the build fails for mysql ver 5.1.23rc.

Does that mean that we'll have to wait for the release of pbxt version for mysql 5.1.23rc version? If yes, when is it expected?


Paul McCullagh said...

Hi Srinivas,

I am pleased to tell you that the next release is already available. I have released PBXT 1.0-alpha today, and you can download it from

However, the new version has significant changes. The changes have been done to add full durability to PBXT.

Unfortunately there is currently no way to activate the behavior of previous versions of PBXT.

The other thing is that the table format is not compatible with the previous version.

If you have a problem with this then please contact me directly. My e-mail address is paul dot mccullagh at primebase dot com.

Make sure you place PBXT in the header of your e-mail to avoid being junk mail classified.

I will then send you a version of 0.9.91-beta which compiles with MySQl 5.1.23rc.

Best regards,


Omni said...

Hi Paul

Have sent you a personal mail for the version that compiles with mysql 5.1.23rc.

Now, since we are also doing a performance analysis of various versions of mysql, we found that the enterprise version of mysql version 5.0.56 (the latest in standard versions) better than the rc versions. So it would be great to have PBXT for this mysql as well. Is it in the making (or already available)?


Paul McCullagh said...

Hi Srinivas,

I will send you the update shortly. Unfortunately there is no version for 5.0 available yet.

This would be quite a bit of work because of changes between the engine APIs.

Would be nice to have though...