List:General Discussion« Previous MessageNext Message »
From:Paul McCullagh Date:November 3 2006 10:55pm
Subject:PBXT 0.9.73 Storage Engine for MySQL 5.1.12 Beta released
View as plain text  
Dear MySQL developers and users,

With the just released MySQL 5.1.12 Beta version we now have an  
excellent platform for testing the pluggable storage engine API.  
PrimeBase XT is the first engine to take full advantage of this new  
feature in MySQL.

The PBXT 0.9.73 release demonstrates the ease with which externally  
built storage engines can be combined with MySQL in the future. The  
engine achieves high concurrency using a pure MVCC(*) implementation  
and great performance with a write-once update strategy.

Download and further details can be found at: http:// 
www.primebase.com/xt

The PBXT project is now hosted by SourceForge.net so for SVN access,  
bug reports and tracking, please go to: http://sourceforge.net/ 
projects/pbxt

The major differences between this version and the first PBXT Beta  
release are:

- The implementation has been updated to accommodate recent changes  
to the storage engine API.

-  The PBXT version of the mysql-test-run scripts has been updated to  
included the latest tests and run with the new perl based test program.

To build PBXT you will need to download and build the MySQL 5.1.12  
source tree. Below are 6 steps to build and test the pluggable engine.

Best regards,

Paul McCullagh
SNAP Innovation GmbH

(*) MVCC - Multi-version concurrency control

6 Steps to build and test PBXT for MySQL 5.1.12
-----------------------------------------------

This description assumes the following:

* The user's name is 'myname'.

* The home directory of myname is: /home/myname

* myname is using a working directory called: /home/myname/mysql-dev

1. Download the MySQL 5.1.12 source code tree (http://dev.mysql.com/ 
get/Downloads/MySQL-5.1/mysql-5.1.12-beta.tar.gz/from/pick) and  
unpack it in the /home/myname/mysql-dev directory.

2. Build MySQL as follows:

$ cd /home/myname/mysql-dev/mysql-5.1.12-beta
$ ./configure --prefix=/home/myname/mysql-dev/test --with-debug=full  
--with-mysqld-user=myname --with-extra-charsets=complex --with- 
plugins=max-no-ndb --with-embedded-server --enable-thread-safe-client  
--with-big-tables
$ make

3. Download the PBXT 0.9.73 source code tree (http:// 
www.primebase.com/xt/download/pbxt-0.9.73-beta.tar.gz) and unpack it  
in the /home/myname/mysql-dev directory.

4. Build and install PBXT as follows:

$ cd /home/myname/mysql-dev/pbxt-0.9.73-beta
$ ./configure --with-mysql=/home/myname/mysql-dev/mysql-5.1.12-beta   
--libdir=/home/myname/mysql-dev/mysql-5.1.12-beta/mysql-test/lib/ 
mysql --with-debug=full
$ make install

5. Install the PBXT version of the mysql-test-run scripts:

$ cd mysql-test-update
$ ./update_mysql_test.sh /home/myname/mysql-dev/mysql-5.1.12-beta

6. Run the MySQL test scripts:

$ cd /home/myname/mysql-dev/mysql-5.1.12-beta/mysql-test
$ ./mysql-test-run --mysqld=--default-storage-engine=pbxt --force

NOTES:
------

- Almost all the tests should run through without error (I am still  
working on 2 or 3 tests that fail).
- Step 4 installs the PBXT shared library, libpbxt.so in the 'mysql- 
test/lib/mysql' directory where is is required by mysqld, which it is  
started by mysql-test-run.
- Step 5 modifies the file 'mysql-test/lib/init_db.sql', adding the  
statement: "INSERT INTO plugin VALUES ('pbxt', 'libpbxt.so');", which  
will cause mysqld to load the plug-in when started.
- Both MYSQL and PBXT must be compiled with the same value for the -- 
with-debug switch (on/off/full). If not, the plug-in will not load.

Normally you would install a plug-in using the command: "INSTALL  
PLUGIN pbxt SONAME 'libpbxt.so';". However, unless you add this  
statement to every test script, this will not work when using mysql- 
test-run because the server environment is re-installed every time  
mysql-test-run starts.

By the way, the new perl based mysql-test-run is much faster on  
startup than the old UNIX shell based program. Makes testing much  
more fun ... thanks MySQL :)



Thread
PBXT 0.9.73 Storage Engine for MySQL 5.1.12 Beta releasedPaul McCullagh4 Nov