mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
ha_innodb.cc:
Fix InnoDB bug #6287: if one uses INSERT IGNORE to insert several rows at a time, and the first inserts are ignored because of a duplicate key collision, then InnoDB in a replication slave assigns AUTO_INCREMENT values 1 bigger than in the master sql/ha_innodb.cc: Fix InnoDB bug #6287: if one uses INSERT IGNORE to insert several rows at a time, and the first inserts are ignored because of a duplicate key collision, then InnoDB in a replication slave assigns AUTO_INCREMENT values 1 bigger than in the master
This commit is contained in:
parent
40e25a305d
commit
16d735adb0
1 changed files with 6 additions and 5 deletions
|
@ -2172,8 +2172,9 @@ ha_innobase::write_row(
|
|||
same SQL statement! */
|
||||
|
||||
if (auto_inc == 0 && user_thd->next_insert_id != 0) {
|
||||
auto_inc = user_thd->next_insert_id;
|
||||
auto_inc_counter_for_this_stat = auto_inc;
|
||||
|
||||
auto_inc_counter_for_this_stat
|
||||
= user_thd->next_insert_id;
|
||||
}
|
||||
|
||||
if (auto_inc == 0 && auto_inc_counter_for_this_stat) {
|
||||
|
@ -2181,14 +2182,14 @@ ha_innobase::write_row(
|
|||
this SQL statement with SET INSERT_ID. We must
|
||||
assign sequential values from the counter. */
|
||||
|
||||
auto_inc_counter_for_this_stat++;
|
||||
incremented_auto_inc_for_stat = TRUE;
|
||||
|
||||
auto_inc = auto_inc_counter_for_this_stat;
|
||||
|
||||
/* We give MySQL a new value to place in the
|
||||
auto-inc column */
|
||||
user_thd->next_insert_id = auto_inc;
|
||||
|
||||
auto_inc_counter_for_this_stat++;
|
||||
incremented_auto_inc_for_stat = TRUE;
|
||||
}
|
||||
|
||||
if (auto_inc != 0) {
|
||||
|
|
Loading…
Reference in a new issue