mirror of
https://github.com/MariaDB/server.git
synced 2026-04-29 11:45:32 +02:00
MDEV-6247: Merge 10.0-galera to 10.1.
Merged lp:maria/maria-10.0-galera up to revision 3879. Added a new functions to handler API to forcefully abort_transaction, producing fake_trx_id, get_checkpoint and set_checkpoint for XA. These were added for future possiblity to add more storage engines that could use galera replication.
This commit is contained in:
parent
e974b56438
commit
df4dd593f2
327 changed files with 28128 additions and 333 deletions
|
|
@ -642,18 +642,19 @@ cleanup:
|
|||
if (!transactional_table && deleted > 0)
|
||||
thd->transaction.stmt.modified_non_trans_table=
|
||||
thd->transaction.all.modified_non_trans_table= TRUE;
|
||||
|
||||
|
||||
/* See similar binlogging code in sql_update.cc, for comments */
|
||||
if ((error < 0) || thd->transaction.stmt.modified_non_trans_table)
|
||||
{
|
||||
if (mysql_bin_log.is_open())
|
||||
if(IF_WSREP((WSREP_EMULATE_BINLOG(thd) || mysql_bin_log.is_open()),
|
||||
mysql_bin_log.is_open()))
|
||||
{
|
||||
int errcode= 0;
|
||||
if (error < 0)
|
||||
thd->clear_error();
|
||||
else
|
||||
errcode= query_error_code(thd, killed_status == NOT_KILLED);
|
||||
|
||||
|
||||
/*
|
||||
[binlog]: If 'handler::delete_all_rows()' was called and the
|
||||
storage engine does not inject the rows itself, we replicate
|
||||
|
|
@ -1107,13 +1108,14 @@ void multi_delete::abort_result_set()
|
|||
DBUG_ASSERT(error_handled);
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
|
||||
if (thd->transaction.stmt.modified_non_trans_table)
|
||||
{
|
||||
/*
|
||||
/*
|
||||
there is only side effects; to binlog with the error
|
||||
*/
|
||||
if (mysql_bin_log.is_open())
|
||||
if (IF_WSREP((WSREP_EMULATE_BINLOG(thd) || mysql_bin_log.is_open()),
|
||||
mysql_bin_log.is_open()))
|
||||
{
|
||||
int errcode= query_error_code(thd, thd->killed == NOT_KILLED);
|
||||
/* possible error of writing binary log is ignored deliberately */
|
||||
|
|
@ -1289,7 +1291,8 @@ bool multi_delete::send_eof()
|
|||
}
|
||||
if ((local_error == 0) || thd->transaction.stmt.modified_non_trans_table)
|
||||
{
|
||||
if (mysql_bin_log.is_open())
|
||||
if(IF_WSREP((WSREP_EMULATE_BINLOG(thd) || mysql_bin_log.is_open()),
|
||||
mysql_bin_log.is_open()))
|
||||
{
|
||||
int errcode= 0;
|
||||
if (local_error == 0)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue