mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 10:14:19 +01:00
c18896f9c1
Federated and Federatex cannot be used with ROR scans Federated::position() and Federatex::position() is storing in 'ref' a pointer into a local result set buffer. This means that one cannot compare 'ref' from different handler instances to see if they point to the same physical record. This bug caused federated.federatedx to return wrong results when the optimizer tried to use index_merge to resolve some queries. Fixed by introducing table flag HA_NON_COMPARABLE_ROWID and using this with the above handlers. Todo: - Fix multi_delete(), multi_update and read_records() to use primary key instead of 'ref' if case HA_NON_COMPARABLE_ROWID is set. The current code only works if we have only one range (like table scan) for the tables that will be updated in the second pass. - Enable DBUG_ASSERT() in ha_federated::cmp_ref() and ha_federatedx::cmp_ref(). |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
ha_federated.cc | ||
ha_federated.h | ||
README |
The files in this directory are not used by MariaDB MariaDB uses the new federated storage engine that can be found in the federatedx directory. This directory is only kept around to make it easy to merge code from the MySQL source repositories that uses the old and disabled federated code.