mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
1e43277838
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. |
||
---|---|---|
.. | ||
AUTHORS | ||
ChangeLog | ||
CMakeLists.txt | ||
FAQ | ||
federatedx_io.cc | ||
federatedx_io_mysql.cc | ||
federatedx_io_null.cc | ||
federatedx_probes.h | ||
federatedx_txn.cc | ||
ha_federatedx.cc | ||
ha_federatedx.h | ||
README | ||
README.windows | ||
TODO |
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