mariadb/storage/federatedx
Michael Widenius 8b714e507f Changed the client library to only mark memory as THREAD_SPECIFIC if one has called
mysql_options() with MYSQL_OPT_USE_THREAD_SPECIFIC_MEMORY

include/mysql.h:
  Added MYSQL_OPT_USE_THREAD_SPECIFIC_MEMORY
include/mysql.h.pp:
  Updated file
sql-common/client.c:
  Marked client memory as THREAD_SPECIFIC
sql/event_db_repository.cc:
  Fixed compiler warning
sql/slave.cc:
  Marked client memory as THREAD_SPECIFIC
storage/federatedx/federatedx_io_mysql.cc:
  Marked client memory as THREAD_SPECIFIC
storage/federatedx/ha_federatedx.cc:
  Marked client memory as THREAD_SPECIFIC
storage/sphinx/ha_sphinx.cc:
  Marked client memory as THREAD_SPECIFIC
2013-04-17 23:37:06 +03:00
..
AUTHORS Added federatedx storage engine 2009-10-30 20:50:56 +02:00
ChangeLog Added federatedx storage engine 2009-10-30 20:50:56 +02:00
CMakeLists.txt merge. 2010-11-25 18:17:28 +01:00
FAQ Added federatedx storage engine 2009-10-30 20:50:56 +02:00
federatedx_io.cc use PSI wrappers in aria and other non-MySQL code 2011-07-13 21:10:18 +02:00
federatedx_io_mysql.cc Changed the client library to only mark memory as THREAD_SPECIFIC if one has called 2013-04-17 23:37:06 +03:00
federatedx_io_null.cc lots of post-merge changes 2011-04-25 17:22:25 +02:00
federatedx_probes.h Added federatedx storage engine 2009-10-30 20:50:56 +02:00
federatedx_txn.cc use PSI wrappers in aria and other non-MySQL code 2011-07-13 21:10:18 +02:00
ha_federatedx.cc Changed the client library to only mark memory as THREAD_SPECIFIC if one has called 2013-04-17 23:37:06 +03:00
ha_federatedx.h assisted discovery in federatedx 2013-04-09 16:19:18 +02:00
README Added federatedx storage engine 2009-10-30 20:50:56 +02:00
README.windows Added federatedx storage engine 2009-10-30 20:50:56 +02:00
TODO Added federatedx storage engine 2009-10-30 20:50:56 +02:00

This is the FederatedX Storage Engine, developed as an external storage engine.

NOTE:

The following is only relevant if you use it for MySQL.  MariaDB already comes
with the latest version of FederatedX.

To install, grab a copy of the mysql source code and run this:

./configure --with-mysql=/path/to/src/mysql-5.x --libdir=/usr/local/lib/mysql/

make install

And then inside of MySQL:

mysql> INSTALL PLUGIN federatedx SONAME 'libfederatedx_engine.so';

mysql> CREATE TABLE `d` (`a` varchar(125), b text, primary key(a)) ENGINE=FEDERATEDX CONNECTION="mysql://root@host/schema/table"

or 

mysql> CREATE TABLE `d` (`a` varchar(125), b text, primary key(a)) ENGINE=FEDERATEDX CONNECTION="server" CHARSET=latin1;

You will probably need to edit the Makefile.am in the src/ tree if you want
to build on anything other then Linux (and the Makefile assumes that the
server was not compiled for debug). The reason for the two possible
configure lines is that libdir is dependent on where MySQL was installed. If
you run the "INSTALL PLUGIN ..." and you get a file not found, check that
your configured this directory correctly.

For Solaris you can enable DTrace probes by adding to configure
--enable-dtrace