mirror of
https://github.com/MariaDB/server.git
synced 2025-08-21 16:03:24 +03:00
Contains also MDEV-10547: Test multi_update_innodb fails with InnoDB 5.7 The failure happened because 5.7 has changed the signature of the bool handler::primary_key_is_clustered() const virtual function ("const" was added). InnoDB was using the old signature which caused the function not to be used. MDEV-10550: Parallel replication lock waits/deadlock handling does not work with InnoDB 5.7 Fixed mutexing problem on lock_trx_handle_wait. Note that rpl_parallel and rpl_optimistic_parallel tests still fail. MDEV-10156 : Group commit tests fail on 10.2 InnoDB (branch bb-10.2-jan) Reason: incorrect merge MDEV-10550: Parallel replication can't sync with master in InnoDB 5.7 (branch bb-10.2-jan) Reason: incorrect merge
355 lines
7.9 KiB
Plaintext
355 lines
7.9 KiB
Plaintext
set innodb_strict_mode=OFF;
|
|
create procedure populate()
|
|
begin
|
|
declare i int default 1;
|
|
while (i <= 5000) do
|
|
insert into t1 values (i, 'a', 'b');
|
|
insert into t2 values (i, 'a', 'b');
|
|
insert into t3 values (i, 'a', 'b');
|
|
set i = i + 1;
|
|
end while;
|
|
end|
|
|
create procedure populate_small()
|
|
begin
|
|
declare i int default 10001;
|
|
while (i <= 12000) do
|
|
insert into t1 values (i, 'c', 'd');
|
|
insert into t2 values (i, 'a', 'b');
|
|
insert into t3 values (i, 'a', 'b');
|
|
set i = i + 1;
|
|
end while;
|
|
end|
|
|
set global innodb_file_per_table = 1;
|
|
set global innodb_file_format = 'Antelope';
|
|
Warnings:
|
|
Warning 131 Using innodb_file_format is deprecated and the parameter may be removed in future releases. See http://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html
|
|
create table tNUMBER
|
|
(i int, cNUMBER char(NUMBER), cNUMBER char(NUMBER),
|
|
index cNUMBER_idx(cNUMBER))
|
|
engine=innodb row_format=compact
|
|
key_block_size=NUMBER;
|
|
Warnings:
|
|
Warning NUMBER InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
|
|
Warning NUMBER InnoDB: ignoring KEY_BLOCK_SIZE=NUMBER.
|
|
create table t2
|
|
(i int, c1 char(100), c2 char(100),
|
|
index c1_idx(c1))
|
|
engine=innodb row_format=compact
|
|
key_block_size=16;
|
|
Warnings:
|
|
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
|
|
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16.
|
|
create temporary table t3
|
|
(i int, c1 char(100), c2 char(100),
|
|
index c1_idx(c1))
|
|
engine=innodb row_format=compact
|
|
key_block_size=16;
|
|
Warnings:
|
|
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
|
|
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16.
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
begin;
|
|
call populate();
|
|
commit;
|
|
select count(*) from t1;
|
|
count(*)
|
|
5000
|
|
select count(*) from t2;
|
|
count(*)
|
|
5000
|
|
select count(*) from t3;
|
|
count(*)
|
|
5000
|
|
truncate table t1;
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
5000
|
|
select count(*) from t3;
|
|
count(*)
|
|
5000
|
|
call populate_small();
|
|
select count(*) from t1;
|
|
count(*)
|
|
2000
|
|
select count(*) from t2;
|
|
count(*)
|
|
7000
|
|
select count(*) from t3;
|
|
count(*)
|
|
7000
|
|
truncate table t2;
|
|
truncate table t3;
|
|
select count(*) from t1;
|
|
count(*)
|
|
2000
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
call populate_small();
|
|
select count(*) from t1;
|
|
count(*)
|
|
4000
|
|
select count(*) from t2;
|
|
count(*)
|
|
2000
|
|
select count(*) from t3;
|
|
count(*)
|
|
2000
|
|
drop table t1;
|
|
drop table t2;
|
|
drop table t3;
|
|
drop procedure populate;
|
|
drop procedure populate_small;
|
|
set global innodb_file_format = Barracuda;
|
|
Warnings:
|
|
Warning 131 Using innodb_file_format is deprecated and the parameter may be removed in future releases. See http://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html
|
|
set global innodb_file_per_table = 1;
|
|
set innodb_strict_mode=OFF;
|
|
create procedure populate()
|
|
begin
|
|
declare i int default 1;
|
|
while (i <= 5000) do
|
|
insert into t1 values (i, 'a', 'b');
|
|
insert into t2 values (i, 'a', 'b');
|
|
insert into t3 values (i, 'a', 'b');
|
|
set i = i + 1;
|
|
end while;
|
|
end|
|
|
create procedure populate_small()
|
|
begin
|
|
declare i int default 10001;
|
|
while (i <= 12000) do
|
|
insert into t1 values (i, 'c', 'd');
|
|
insert into t2 values (i, 'a', 'b');
|
|
insert into t3 values (i, 'a', 'b');
|
|
set i = i + 1;
|
|
end while;
|
|
end|
|
|
set global innodb_file_per_table = 1;
|
|
set global innodb_file_format = 'Barracuda';
|
|
Warnings:
|
|
Warning 131 Using innodb_file_format is deprecated and the parameter may be removed in future releases. See http://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html
|
|
create table tNUMBER
|
|
(i int, cNUMBER char(NUMBER), cNUMBER char(NUMBER),
|
|
index cNUMBER_idx(cNUMBER))
|
|
engine=innodb row_format=compressed
|
|
key_block_size=NUMBER;
|
|
create table t2
|
|
(i int, c1 char(100), c2 char(100),
|
|
index c1_idx(c1))
|
|
engine=innodb row_format=compressed
|
|
key_block_size=16;
|
|
create temporary table t3
|
|
(i int, c1 char(100), c2 char(100),
|
|
index c1_idx(c1))
|
|
engine=innodb row_format=compressed
|
|
key_block_size=16;
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
begin;
|
|
call populate();
|
|
commit;
|
|
select count(*) from t1;
|
|
count(*)
|
|
5000
|
|
select count(*) from t2;
|
|
count(*)
|
|
5000
|
|
select count(*) from t3;
|
|
count(*)
|
|
5000
|
|
truncate table t1;
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
5000
|
|
select count(*) from t3;
|
|
count(*)
|
|
5000
|
|
call populate_small();
|
|
select count(*) from t1;
|
|
count(*)
|
|
2000
|
|
select count(*) from t2;
|
|
count(*)
|
|
7000
|
|
select count(*) from t3;
|
|
count(*)
|
|
7000
|
|
truncate table t2;
|
|
truncate table t3;
|
|
select count(*) from t1;
|
|
count(*)
|
|
2000
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
call populate_small();
|
|
select count(*) from t1;
|
|
count(*)
|
|
4000
|
|
select count(*) from t2;
|
|
count(*)
|
|
2000
|
|
select count(*) from t3;
|
|
count(*)
|
|
2000
|
|
drop table t1;
|
|
drop table t2;
|
|
drop table t3;
|
|
drop procedure populate;
|
|
drop procedure populate_small;
|
|
set global innodb_file_format = Barracuda;
|
|
Warnings:
|
|
Warning 131 Using innodb_file_format is deprecated and the parameter may be removed in future releases. See http://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html
|
|
set global innodb_file_per_table = 1;
|
|
set innodb_strict_mode=OFF;
|
|
create procedure populate()
|
|
begin
|
|
declare i int default 1;
|
|
while (i <= 5000) do
|
|
insert into t1 values (i, 'a', 'b');
|
|
insert into t2 values (i, 'a', 'b');
|
|
insert into t3 values (i, 'a', 'b');
|
|
set i = i + 1;
|
|
end while;
|
|
end|
|
|
create procedure populate_small()
|
|
begin
|
|
declare i int default 10001;
|
|
while (i <= 12000) do
|
|
insert into t1 values (i, 'c', 'd');
|
|
insert into t2 values (i, 'a', 'b');
|
|
insert into t3 values (i, 'a', 'b');
|
|
set i = i + 1;
|
|
end while;
|
|
end|
|
|
set global innodb_file_per_table = 0;
|
|
set global innodb_file_format = 'Antelope';
|
|
Warnings:
|
|
Warning 131 Using innodb_file_format is deprecated and the parameter may be removed in future releases. See http://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html
|
|
create table tNUMBER
|
|
(i int, cNUMBER char(NUMBER), cNUMBER char(NUMBER),
|
|
index cNUMBER_idx(cNUMBER))
|
|
engine=innodb row_format=compact
|
|
key_block_size=NUMBER;
|
|
Warnings:
|
|
Warning NUMBER InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
|
|
Warning NUMBER InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
|
|
Warning NUMBER InnoDB: ignoring KEY_BLOCK_SIZE=NUMBER.
|
|
create table t2
|
|
(i int, c1 char(100), c2 char(100),
|
|
index c1_idx(c1))
|
|
engine=innodb row_format=compact
|
|
key_block_size=16;
|
|
Warnings:
|
|
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
|
|
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
|
|
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16.
|
|
create temporary table t3
|
|
(i int, c1 char(100), c2 char(100),
|
|
index c1_idx(c1))
|
|
engine=innodb row_format=compact
|
|
key_block_size=16;
|
|
Warnings:
|
|
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
|
|
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_format > Antelope.
|
|
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16.
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
begin;
|
|
call populate();
|
|
commit;
|
|
select count(*) from t1;
|
|
count(*)
|
|
5000
|
|
select count(*) from t2;
|
|
count(*)
|
|
5000
|
|
select count(*) from t3;
|
|
count(*)
|
|
5000
|
|
truncate table t1;
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
5000
|
|
select count(*) from t3;
|
|
count(*)
|
|
5000
|
|
call populate_small();
|
|
select count(*) from t1;
|
|
count(*)
|
|
2000
|
|
select count(*) from t2;
|
|
count(*)
|
|
7000
|
|
select count(*) from t3;
|
|
count(*)
|
|
7000
|
|
truncate table t2;
|
|
truncate table t3;
|
|
select count(*) from t1;
|
|
count(*)
|
|
2000
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
call populate_small();
|
|
select count(*) from t1;
|
|
count(*)
|
|
4000
|
|
select count(*) from t2;
|
|
count(*)
|
|
2000
|
|
select count(*) from t3;
|
|
count(*)
|
|
2000
|
|
drop table t1;
|
|
drop table t2;
|
|
drop table t3;
|
|
drop procedure populate;
|
|
drop procedure populate_small;
|
|
set global innodb_file_format = Barracuda;
|
|
Warnings:
|
|
Warning 131 Using innodb_file_format is deprecated and the parameter may be removed in future releases. See http://dev.mysql.com/doc/refman/5.7/en/innodb-file-format.html
|
|
set global innodb_file_per_table = 1;
|