1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-09 22:24:09 +03:00

fix galera.lp1438990 test

binlog_savepoint_rollback() should not try to truncate a binlog
unless binlog_savepoint_set has actually remembered the position
to truncate to.
This commit is contained in:
Sergei Golubchik
2015-12-22 11:59:15 +01:00
parent 7697bf0bd7
commit 0278151260

View File

@@ -2250,13 +2250,15 @@ static int binlog_savepoint_rollback(handlerton *hton, THD *thd, void *sv)
{ {
DBUG_ENTER("binlog_savepoint_rollback"); DBUG_ENTER("binlog_savepoint_rollback");
if (wsrep_emulate_bin_log)
DBUG_RETURN(0);
/* /*
Write ROLLBACK TO SAVEPOINT to the binlog cache if we have updated some Write ROLLBACK TO SAVEPOINT to the binlog cache if we have updated some
non-transactional table. Otherwise, truncate the binlog cache starting non-transactional table. Otherwise, truncate the binlog cache starting
from the SAVEPOINT command. from the SAVEPOINT command.
*/ */
if (!wsrep_emulate_bin_log && if (unlikely(trans_has_updated_non_trans_table(thd) ||
unlikely(trans_has_updated_non_trans_table(thd) ||
(thd->variables.option_bits & OPTION_KEEP_LOG))) (thd->variables.option_bits & OPTION_KEEP_LOG)))
{ {
char buf[1024]; char buf[1024];