mariadb/storage/federatedx
unknown 1e43277838 MDEV-4708: GTID strict mode doesn't work on a database with purged binlogs
When a new master is provisioned that does not have any old binlogs,
the @@gtid_slave_pos is used to know where in the GTID history the
provisioning happened. A slave is allowed to connect at the point of
this value of @@gtid_slave_pos, even if that GTID is not in the
binlogs on the new master.

But --gtid-strict-mode did not correctly handle this case. When strict
mode was enabled, an attempt to connect at the position would cause an
error about holes in the binlog, which is not correct.

This patch adds a hash of GTIDs that need to be treated specially by
GTID strict mode to deal correctly with this case.
2013-07-10 11:45:15 +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 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 MDEV-4708: GTID strict mode doesn't work on a database with purged binlogs 2013-07-10 11:45:15 +02: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