mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Bug#30919
"Rows not deleted from innodb partitioned tables if --innodb_autoinc_lock_mode=0" Due to a previous bugfix which initializes a previously uninitialized variable, ha_partition::get_auto_increment() may fail to operate correctly when the storage engine reports that it is only reserving one value and one or more partitions have a different 'next-value'. Currently, only affects Innodb's new-style auto-increment code which reserves larger blocks of values and has less inter-thread contention. mysql-test/suite/rpl/r/rpl_innodb_bug28430.result: Fix results - previous results shows symptoms of Bug30919 sql/ha_partition.cc: Bug30919 ha_partition::write_row() Do not insert a row if a failure occurred while generating auto-increment value. ha_partition::get_auto_increment() If there is an empty 'intersection' of auto-increment values, perform a second pass before failing because partitions may have different auto-increment 'next-value' attributes. storage/innobase/handler/ha_innodb.cc: Bug30919 Only set *first_value if it is less than autoinc value. This allows a higher value to be hinted when operating as a partitioned table. mysql-test/suite/rpl/r/rpl_innodb_bug30919.result: New BitKeeper file ``mysql-test/suite/rpl/r/rpl_innodb_bug30919.result'' mysql-test/suite/rpl/t/rpl_innodb_bug30919-master.opt: New BitKeeper file ``mysql-test/suite/rpl/t/rpl_innodb_bug30919-master.opt'' mysql-test/suite/rpl/t/rpl_innodb_bug30919.test: New BitKeeper file ``mysql-test/suite/rpl/t/rpl_innodb_bug30919.test''
This commit is contained in:
@ -101,10 +101,10 @@ SELECT count(*) as "Master regular" FROM test.regular_tbl;
|
||||
Master regular 500
|
||||
CALL test.proc_bykey();
|
||||
SELECT count(*) as "Master bykey" FROM test.bykey_tbl;
|
||||
Master bykey 811
|
||||
Master bykey 500
|
||||
CALL test.proc_byrange();
|
||||
SELECT count(*) as "Master byrange" FROM test.byrange_tbl;
|
||||
Master byrange 996
|
||||
Master byrange 500
|
||||
show create table test.byrange_tbl;
|
||||
Table byrange_tbl
|
||||
Create Table CREATE TABLE `byrange_tbl` (
|
||||
@ -123,9 +123,9 @@ Master_User root
|
||||
Master_Port 12000
|
||||
Connect_Retry 1
|
||||
Master_Log_File master-bin.000001
|
||||
Read_Master_Log_Pos 776796
|
||||
Read_Master_Log_Pos 945644
|
||||
Relay_Log_File slave-relay-bin.000003
|
||||
Relay_Log_Pos 776942
|
||||
Relay_Log_Pos 945790
|
||||
Relay_Master_Log_File master-bin.000001
|
||||
Slave_IO_Running Yes
|
||||
Slave_SQL_Running Yes
|
||||
@ -138,8 +138,8 @@ Replicate_Wild_Ignore_Table
|
||||
Last_Errno 0
|
||||
Last_Error
|
||||
Skip_Counter 0
|
||||
Exec_Master_Log_Pos 776796
|
||||
Relay_Log_Space 777097
|
||||
Exec_Master_Log_Pos 945644
|
||||
Relay_Log_Space 945945
|
||||
Until_Condition None
|
||||
Until_Log_File
|
||||
Until_Log_Pos 0
|
||||
@ -158,9 +158,9 @@ Last_SQL_Error
|
||||
SELECT count(*) "Slave norm" FROM test.regular_tbl;
|
||||
Slave norm 500
|
||||
SELECT count(*) "Slave bykey" FROM test.bykey_tbl;
|
||||
Slave bykey 811
|
||||
Slave bykey 500
|
||||
SELECT count(*) "Slave byrange" FROM test.byrange_tbl;
|
||||
Slave byrange 996
|
||||
Slave byrange 500
|
||||
DROP PROCEDURE test.proc_norm;
|
||||
DROP PROCEDURE test.proc_bykey;
|
||||
DROP PROCEDURE test.proc_byrange;
|
||||
|
Reference in New Issue
Block a user