mariadb/storage/federatedx
Sergei Petrunia af4b2ae858 MDEV-21887: federatedx crashes on SELECT ... INTO query in select_handler code
Backport to 10.4:

- Don't try to push down SELECTs that have a side effect

- In case the storage engine did support pushdown of SELECT with an INTO
  clause, write the rows we've got from it into select->join->result,
  and not thd->protocol.  This way, SELECT ... INTO ... FROM
  smart_engine_table will put the result into where instructed, and
  NOT send it to the client.
2020-03-26 15:01:44 +03:00
..
AUTHORS Lintian complains on spelling error 2019-12-02 12:41:13 +02:00
ChangeLog
CMakeLists.txt CRLF->LF 2015-06-02 22:07:47 +02:00
FAQ
federatedx_io.cc Remove unused declarations 2019-04-03 19:46:34 +03:00
federatedx_io_mysql.cc MDEV-16157 federated corrupts timestamps 2018-05-17 15:33:39 +02:00
federatedx_io_null.cc MDEV-15091 : Windows, 64bit: reenable and fix warning C4267 (conversion from 'size_t' to 'type', possible loss of data) 2018-02-06 12:55:58 +00:00
federatedx_probes.h
federatedx_pushdown.cc MDEV-21887: federatedx crashes on SELECT ... INTO query in select_handler code 2020-03-26 15:01:44 +03:00
federatedx_pushdown.h MDEV-17096 Pushdown of simple derived tables to storage engines 2019-02-09 22:54:26 -08:00
federatedx_txn.cc MDEV-12725 select on federated table crashes server 2017-08-08 22:49:09 +02:00
ha_federatedx.cc Merge 10.3 into 10.4 2019-11-25 16:03:45 +03:00
ha_federatedx.h MDEV-19955 make argument of handler::ha_write_row() const 2019-07-05 13:14:19 +03:00
README
README.windows CRLF->LF 2015-06-02 22:07:47 +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