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 :)




--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to