mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge with 5.1
Fixed lp:814237: Wrong mutex usage in Aria storage/maria/ma_bitmap.c: Added call to _ma_bitmap_mark_file_changed() when flushing bitmap. This fixes lp:814237
This commit is contained in:
@ -4444,6 +4444,7 @@ sub extract_warning_lines ($) {
|
||||
qr|Table \./test/bug53592 has a primary key in InnoDB data dictionary, but not in MySQL|,
|
||||
qr|mysqld: Table '\./mtr/test_suppressions' is marked as crashed and should be repaired|,
|
||||
qr|InnoDB: Error: table 'test/bug39438'|,
|
||||
qr|table.*is full|,
|
||||
);
|
||||
|
||||
my $matched_lines= [];
|
||||
|
56
mysql-test/suite/maria/r/max_length.result
Normal file
56
mysql-test/suite/maria/r/max_length.result
Normal file
@ -0,0 +1,56 @@
|
||||
drop table if exists t1,t2;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 't1'
|
||||
Note 1051 Unknown table 't2'
|
||||
create table t1 (id int(10) unsigned not null auto_increment primary key, v varchar(1000), b blob) row_format=page max_rows=2 engine=aria;
|
||||
create table t2 (id int(10) unsigned not null auto_increment primary key, v varchar(1000), b blob) row_format=page max_rows=20000000 engine=aria;
|
||||
lock tables t1 write,t2 write;
|
||||
show table status like "t_";
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 MARIA 10 Page 0 0 8192 268320768 8192 0 1 # # # latin1_swedish_ci NULL max_rows=2 row_format=PAGE
|
||||
t2 MARIA 10 Page 0 0 8192 17592186011648 8192 0 1 # # # latin1_swedish_ci NULL max_rows=20000000 row_format=PAGE
|
||||
insert into t1 values(null, repeat("ab",100),repeat("def",1000));
|
||||
insert into t1 values(null, repeat("de",200),repeat("ghi",2000));
|
||||
insert into t1 values(null, repeat("fe",300),repeat("ghi",3000));
|
||||
insert into t1 values(null, repeat("gh",400),repeat("jkl",10000));
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
insert into t2 (v,b) select v,b from t1;
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
insert into t2 (v,b) select v,b from t1;
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
insert into t2 (v,b) select v,b from t1;
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
insert into t2 (v,b) select v,b from t1;
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
insert into t2 (v,b) select v,b from t1;
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
insert into t2 (v,b) select v,b from t1;
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
insert into t2 (v,b) select v,b from t1;
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
insert into t2 (v,b) select v,b from t1;
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
insert into t2 (v,b) select v,b from t1;
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
insert into t2 (v,b) select v,b from t1;
|
||||
unlock tables;
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
ERROR HY000: The table 't1' is full
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check warning Datafile is almost full, 268230656 of 268320768 used
|
||||
test.t1 check status OK
|
||||
insert into t1 values(null, repeat("gh",400),repeat("jkl",10000));
|
||||
ERROR HY000: The table 't1' is full
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check warning Datafile is almost full, 268230656 of 268320768 used
|
||||
test.t1 check status OK
|
||||
truncate table t1;
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
ERROR HY000: The table 't1' is full
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check warning Datafile is almost full, 268230656 of 268320768 used
|
||||
test.t1 check status OK
|
||||
drop table t1,t2;
|
52
mysql-test/suite/maria/t/max_length.test
Normal file
52
mysql-test/suite/maria/t/max_length.test
Normal file
@ -0,0 +1,52 @@
|
||||
# Test max data length
|
||||
# This test will use around 1.3G of disk space!
|
||||
|
||||
--source include/have_maria.inc
|
||||
--source include/big_test.inc
|
||||
|
||||
drop table if exists t1,t2;
|
||||
|
||||
create table t1 (id int(10) unsigned not null auto_increment primary key, v varchar(1000), b blob) row_format=page max_rows=2 engine=aria;
|
||||
create table t2 (id int(10) unsigned not null auto_increment primary key, v varchar(1000), b blob) row_format=page max_rows=20000000 engine=aria;
|
||||
lock tables t1 write,t2 write;
|
||||
--replace_column 12 # 13 # 14 #
|
||||
show table status like "t_";
|
||||
insert into t1 values(null, repeat("ab",100),repeat("def",1000));
|
||||
insert into t1 values(null, repeat("de",200),repeat("ghi",2000));
|
||||
insert into t1 values(null, repeat("fe",300),repeat("ghi",3000));
|
||||
insert into t1 values(null, repeat("gh",400),repeat("jkl",10000));
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
insert into t2 (v,b) select v,b from t1;
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
insert into t2 (v,b) select v,b from t1;
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
insert into t2 (v,b) select v,b from t1;
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
insert into t2 (v,b) select v,b from t1;
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
insert into t2 (v,b) select v,b from t1;
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
insert into t2 (v,b) select v,b from t1;
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
insert into t2 (v,b) select v,b from t1;
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
insert into t2 (v,b) select v,b from t1;
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
insert into t2 (v,b) select v,b from t1;
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
insert into t2 (v,b) select v,b from t1;
|
||||
unlock tables;
|
||||
|
||||
--error ER_RECORD_FILE_FULL
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
check table t1;
|
||||
--error ER_RECORD_FILE_FULL
|
||||
insert into t1 values(null, repeat("gh",400),repeat("jkl",10000));
|
||||
check table t1;
|
||||
# Test also with inserting into empty table (different code)
|
||||
truncate table t1;
|
||||
--error ER_RECORD_FILE_FULL
|
||||
insert into t1 (v,b) select v,b from t2;
|
||||
check table t1;
|
||||
|
||||
drop table t1,t2;
|
Reference in New Issue
Block a user