mirror of
https://github.com/MariaDB/server.git
synced 2026-04-17 13:55:32 +02:00
MDEV-29620 Assertion `next_insert_id == 0' failed in handler::ha_external_lock
ha_release_auto_increment() must be done before F_UNLCK. Non-atomic case is handled by select_insert::binlog_query().
This commit is contained in:
parent
c579d66ba6
commit
aa08a7442a
3 changed files with 13 additions and 0 deletions
|
|
@ -912,3 +912,8 @@ x
|
|||
77
|
||||
drop table t;
|
||||
set sql_mode= default;
|
||||
#
|
||||
# MDEV-29620 Assertion `next_insert_id == 0' failed in handler::ha_external_lock
|
||||
#
|
||||
create or replace table t1 (i serial) as select * from (values(1), (2)) dt;
|
||||
drop table t1;
|
||||
|
|
|
|||
|
|
@ -697,3 +697,9 @@ alter table mysql.innodb_index_stats modify stat_description varchar(1024) not n
|
|||
select * from t;
|
||||
drop table t;
|
||||
set sql_mode= default;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-29620 Assertion `next_insert_id == 0' failed in handler::ha_external_lock
|
||||
--echo #
|
||||
create or replace table t1 (i serial) as select * from (values(1), (2)) dt;
|
||||
drop table t1;
|
||||
|
|
|
|||
|
|
@ -4289,6 +4289,8 @@ bool select_insert::prepare_eof()
|
|||
{
|
||||
DBUG_ASSERT(table->s->tmp_table);
|
||||
|
||||
table->file->ha_release_auto_increment();
|
||||
|
||||
/*
|
||||
Note: InnoDB does autocommit on external unlock.
|
||||
We cannot do commit twice and we must commit after binlog
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue