mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-bugteam
into mats-laptop.(none):/home/bk/b29020-mysql-5.1-rpl mysql-test/suite/binlog/r/binlog_base64_flag.result: Auto merged mysql-test/suite/binlog/t/binlog_base64_flag.test: Auto merged mysql-test/suite/rpl/r/rpl_row_create_table.result: Auto merged sql/log.cc: Auto merged sql/log_event.cc: Auto merged sql/log_event.h: Auto merged sql/sql_insert.cc: Auto merged
This commit is contained in:
@@ -2426,6 +2426,7 @@ pthread_handler_t handle_delayed_insert(void *arg)
|
||||
*/
|
||||
di->table->file->ha_release_auto_increment();
|
||||
mysql_unlock_tables(thd, lock);
|
||||
ha_autocommit_or_rollback(thd, 0);
|
||||
di->group_count=0;
|
||||
pthread_mutex_lock(&di->mutex);
|
||||
}
|
||||
@@ -3689,14 +3690,11 @@ void select_create::abort()
|
||||
{
|
||||
DBUG_ENTER("select_create::abort");
|
||||
|
||||
/*
|
||||
Disable binlog, because we "roll back" partial inserts in ::abort
|
||||
by removing the table, even for non-transactional tables.
|
||||
*/
|
||||
tmp_disable_binlog(thd);
|
||||
/*
|
||||
In select_insert::abort() we roll back the statement, including
|
||||
truncating the transaction cache of the binary log.
|
||||
truncating the transaction cache of the binary log. To do this, we
|
||||
pretend that the statement is transactional, even though it might
|
||||
be the case that it was not.
|
||||
|
||||
We roll back the statement prior to deleting the table and prior
|
||||
to releasing the lock on the table, since there might be potential
|
||||
@@ -3707,7 +3705,9 @@ void select_create::abort()
|
||||
of the table succeeded or not, since we need to reset the binary
|
||||
log state.
|
||||
*/
|
||||
tmp_disable_binlog(thd);
|
||||
select_insert::abort();
|
||||
thd->transaction.stmt.modified_non_trans_table= FALSE;
|
||||
reenable_binlog(thd);
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user