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]