1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

Bug#30907

"Regression: "--innodb_autoinc_lock_mode=0" (off) not same as older releases"
Bug#28430
  "Failure in replication of innodb partitioned tables on row/mixed format"
Bug#30888
  "Innodb table + stored procedure + row deletion = server crash"

  Apply Oracle patch from Sunny
  Include tests cases by Omer
  Ensure that innobase_read_and_init_auto performs table autoinc lock when lock_mode = 0
  No need for "if" guard around row_unlock_table_autoinc_for_mysql() because
  it already performs same check.
  Make autoinc_lock_mode variable read-only for duration of running mysqld process.


storage/innobase/handler/ha_innodb.cc:
  Bug30907/28430
    "Regression: "--innodb_autoinc_lock_mode=0" (off) not same as older releases"
    "Failure in replication of innodb partitioned tables on row/mixed format"
    Apply Oracle patch from Sunny
    Ensure that innobase_read_and_init_auto performs table autoinc lock when lock_mode = 0
    No need for "if" guard around row_unlock_table_autoinc_for_mysql() because
    it already performs same check.
    Make autoinc_lock_mode variable read-only for duration of running mysqld process.
storage/innobase/row/row0sel.c:
  Bug30888
    "Innodb table + stored procedure + row deletion = server crash"
  
    Remove endian-specific code.
    Fix function row_search_autoinc_read_column() to handle any integer size up to 8 bytes.
mysql-test/suite/rpl/r/rpl_innodb_bug28430.result:
  New BitKeeper file ``mysql-test/suite/rpl/r/rpl_innodb_bug28430.result''
mysql-test/suite/rpl/r/rpl_innodb_bug30888.result:
  New BitKeeper file ``mysql-test/suite/rpl/r/rpl_innodb_bug30888.result''
mysql-test/suite/rpl/t/rpl_innodb-master.opt:
  New BitKeeper file ``mysql-test/suite/rpl/t/rpl_innodb-master.opt''
mysql-test/suite/rpl/t/rpl_innodb_bug28430-master.opt:
  New BitKeeper file ``mysql-test/suite/rpl/t/rpl_innodb_bug28430-master.opt''
mysql-test/suite/rpl/t/rpl_innodb_bug28430.test:
  New BitKeeper file ``mysql-test/suite/rpl/t/rpl_innodb_bug28430.test''
mysql-test/suite/rpl/t/rpl_innodb_bug30888.test:
  New BitKeeper file ``mysql-test/suite/rpl/t/rpl_innodb_bug30888.test''
This commit is contained in:
unknown
2007-09-08 11:19:35 -07:00
parent aff30b40cd
commit bec076f494
8 changed files with 469 additions and 94 deletions

View File

@ -0,0 +1,35 @@
stop slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
DROP DATABASE IF EXISTS test;
CREATE DATABASE test;
use test;
CREATE TABLE test.regular_tbl(id MEDIUMINT NOT NULL AUTO_INCREMENT,
dt TIMESTAMP, user CHAR(255), uuidf LONGBLOB,
fkid MEDIUMINT, filler VARCHAR(255),
PRIMARY KEY(id)) ENGINE='innodb';
CREATE PROCEDURE test.proc_norm()
BEGIN
DECLARE ins_count INT DEFAULT 1000;
DECLARE del_count INT;
DECLARE cur_user VARCHAR(255);
DECLARE local_uuid VARCHAR(255);
DECLARE local_time TIMESTAMP;
SET local_time= NOW();
SET cur_user= CURRENT_USER();
SET local_uuid= UUID();
WHILE ins_count > 0 DO
INSERT INTO test.regular_tbl VALUES (NULL, NOW(), USER() , UUID(),
ins_count,'Going to test MBR for MySQL');
SET ins_count = ins_count - 1;
END WHILE;
SELECT MAX(id) FROM test.regular_tbl INTO del_count;
WHILE del_count > 0 DO
DELETE FROM test.regular_tbl WHERE id = del_count;
SET del_count = del_count - 2;
END WHILE;
END|
CALL test.proc_norm();