mariadb/storage/federatedx
Sergei Golubchik fa1f214cf8 MDEV-12725 select on federated table crashes server
NET can only store current_thd if this NET (or its MYSQL) is not
moved between threads. In FederatedX MYSQL is part of the TABLE,
and a TABLE can migrate between threads.

Fix: associate NET with THD in txn->acquire() , and dissociate
in txn->release()
2017-08-08 22:49:09 +02: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 CRLF->LF 2015-06-02 22:07:47 +02:00
FAQ Added federatedx storage engine 2009-10-30 20:50:56 +02:00
federatedx_io.cc MDEV-5120 Test suite test maria-no-logging fails 2014-10-02 11:57:40 +02:00
federatedx_io_mysql.cc MDEV-12725 select on federated table crashes server 2017-08-08 22:49:09 +02:00
federatedx_io_null.cc MDEV-5120 Test suite test maria-no-logging fails 2014-10-02 11:57:40 +02:00
federatedx_probes.h Added federatedx storage engine 2009-10-30 20:50:56 +02:00
federatedx_txn.cc MDEV-12725 select on federated table crashes server 2017-08-08 22:49:09 +02:00
ha_federatedx.cc MDEV-12725 select on federated table crashes server 2017-08-08 22:49:09 +02:00
ha_federatedx.h MDEV-12725 select on federated table crashes server 2017-08-08 22:49:09 +02:00
README Added federatedx storage engine 2009-10-30 20:50:56 +02:00
README.windows CRLF->LF 2015-06-02 22:07:47 +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