summaryrefslogtreecommitdiff
path: root/sql/handler.cc
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2014-07-27 21:02:00 +0200
committerSergei Golubchik <sergii@pisem.net>2014-07-27 21:02:00 +0200
commita6071cc596fe37ef02e5639042de124f0c11b3b3 (patch)
treeac551d570d7053a9f948d8415c8fe31ee49375d7 /sql/handler.cc
parent1987819281eba73cac7ff04082f8f9c024b7a54f (diff)
downloadmariadb-git-a6071cc596fe37ef02e5639042de124f0c11b3b3.tar.gz
MDEV-6082 Assertion `0' fails in TC_LOG_DUMMY::log_and_order on DML after installing TokuDB at runtime on server with disabled InnoDB
We don't support changing tc_log implementation at run time. If the first XA-capable engine is loaded with INSTALL PLUGIN - disable its XA capabilities with a warning
Diffstat (limited to 'sql/handler.cc')
-rw-r--r--sql/handler.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/sql/handler.cc b/sql/handler.cc
index 2e20944a96b..efecd478019 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -543,7 +543,19 @@ int ha_initialize_handlerton(st_plugin_int *plugin)
savepoint_alloc_size+= tmp;
hton2plugin[hton->slot]=plugin;
if (hton->prepare)
+ {
total_ha_2pc++;
+ if (tc_log && tc_log != get_tc_log_implementation())
+ {
+ total_ha_2pc--;
+ hton->prepare= 0;
+ push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_WARN,
+ ER_UNKNOWN_ERROR,
+ "Cannot enable tc-log at run-time. "
+ "XA features of %s are disabled",
+ plugin->name.str);
+ }
+ }
break;
}
/* fall through */