mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Fixed MDEV-3815: Aria engine return "The table is full" (ERROR 1114) inserting record, while MyISAM and InnoDB doesn't
Increase default pointer length for Aria tables to be able to handle big files without having to specify MAX_ROWS mysql-test/suite/maria/icp.result: Updated result mysql-test/suite/maria/maria-preload.result: More pages are needed with longer pointer length mysql-test/suite/maria/maria.result: Added more tests mysql-test/suite/maria/maria.test: Added more tests storage/maria/ma_create.c: Increase default pointer length for Aria tables to be able to handle big files without having to specify MAX_ROWS storage/maria/ma_range.c: Optimize records_in_range() to be more exact storage/maria/ma_static.c: Increase default pointer size storage/maria/ma_test2.c: Allow a bit larger errors in records_in_range
This commit is contained in:
@ -167,7 +167,7 @@ WHERE ts BETWEEN '0000-00-00' AND '2010-00-01 00:00:00'
|
||||
ORDER BY ts DESC
|
||||
LIMIT 2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range PRIMARY PRIMARY 4 NULL 4 Using where
|
||||
1 SIMPLE t1 index PRIMARY PRIMARY 4 NULL 2 Using where
|
||||
|
||||
DROP TABLE t1;
|
||||
#
|
||||
|
@ -58,13 +58,13 @@ count(*)
|
||||
4181
|
||||
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
|
||||
variable_name g.variable_value-i.variable_value
|
||||
ARIA_PAGECACHE_READS 9
|
||||
ARIA_PAGECACHE_READS 11
|
||||
select count(*) from t1 where b = 'test1';
|
||||
count(*)
|
||||
4181
|
||||
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
|
||||
variable_name g.variable_value-i.variable_value
|
||||
ARIA_PAGECACHE_READS 9
|
||||
ARIA_PAGECACHE_READS 11
|
||||
flush tables;
|
||||
flush status;
|
||||
select @@preload_buffer_size;
|
||||
@ -75,18 +75,18 @@ Table Op Msg_type Msg_text
|
||||
test.t1 preload_keys status OK
|
||||
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
|
||||
variable_name g.variable_value-i.variable_value
|
||||
ARIA_PAGECACHE_READS 80
|
||||
ARIA_PAGECACHE_READS 107
|
||||
select count(*) from t1 where b = 'test1';
|
||||
count(*)
|
||||
4181
|
||||
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
|
||||
variable_name g.variable_value-i.variable_value
|
||||
ARIA_PAGECACHE_READS 80
|
||||
ARIA_PAGECACHE_READS 107
|
||||
flush tables;
|
||||
flush status;
|
||||
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
|
||||
variable_name g.variable_value-i.variable_value
|
||||
ARIA_PAGECACHE_READS 80
|
||||
ARIA_PAGECACHE_READS 107
|
||||
set session preload_buffer_size=256*1024;
|
||||
select @@preload_buffer_size;
|
||||
@@preload_buffer_size
|
||||
@ -96,18 +96,18 @@ Table Op Msg_type Msg_text
|
||||
test.t1 preload_keys status OK
|
||||
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
|
||||
variable_name g.variable_value-i.variable_value
|
||||
ARIA_PAGECACHE_READS 151
|
||||
ARIA_PAGECACHE_READS 203
|
||||
select count(*) from t1 where b = 'test1';
|
||||
count(*)
|
||||
4181
|
||||
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
|
||||
variable_name g.variable_value-i.variable_value
|
||||
ARIA_PAGECACHE_READS 157
|
||||
ARIA_PAGECACHE_READS 211
|
||||
flush tables;
|
||||
flush status;
|
||||
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
|
||||
variable_name g.variable_value-i.variable_value
|
||||
ARIA_PAGECACHE_READS 157
|
||||
ARIA_PAGECACHE_READS 211
|
||||
set session preload_buffer_size=1*1024;
|
||||
select @@preload_buffer_size;
|
||||
@@preload_buffer_size
|
||||
@ -118,7 +118,7 @@ test.t1 preload_keys status OK
|
||||
test.t2 preload_keys status OK
|
||||
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
|
||||
variable_name g.variable_value-i.variable_value
|
||||
ARIA_PAGECACHE_READS 271
|
||||
ARIA_PAGECACHE_READS 364
|
||||
select count(*) from t1 where b = 'test1';
|
||||
count(*)
|
||||
4181
|
||||
@ -127,12 +127,12 @@ count(*)
|
||||
2584
|
||||
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
|
||||
variable_name g.variable_value-i.variable_value
|
||||
ARIA_PAGECACHE_READS 274
|
||||
ARIA_PAGECACHE_READS 369
|
||||
flush tables;
|
||||
flush status;
|
||||
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
|
||||
variable_name g.variable_value-i.variable_value
|
||||
ARIA_PAGECACHE_READS 274
|
||||
ARIA_PAGECACHE_READS 369
|
||||
load index into cache t3, t2 key (primary,b) ;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t3 preload_keys Error Table 'test.t3' doesn't exist
|
||||
@ -140,12 +140,12 @@ test.t3 preload_keys status Operation failed
|
||||
test.t2 preload_keys status OK
|
||||
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
|
||||
variable_name g.variable_value-i.variable_value
|
||||
ARIA_PAGECACHE_READS 317
|
||||
ARIA_PAGECACHE_READS 426
|
||||
flush tables;
|
||||
flush status;
|
||||
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
|
||||
variable_name g.variable_value-i.variable_value
|
||||
ARIA_PAGECACHE_READS 317
|
||||
ARIA_PAGECACHE_READS 426
|
||||
load index into cache t3 key (b), t2 key (c) ;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t3 preload_keys Error Table 'test.t3' doesn't exist
|
||||
@ -154,7 +154,7 @@ test.t2 preload_keys Error Key 'c' doesn't exist in table 't2'
|
||||
test.t2 preload_keys status Operation failed
|
||||
select g.variable_name,g.variable_value-i.variable_value from information_schema.global_status as g,initial as i where g.variable_name like "Aria_pagecache_read%" and g.variable_name=i.variable_name order by g.variable_name desc;
|
||||
variable_name g.variable_value-i.variable_value
|
||||
ARIA_PAGECACHE_READS 317
|
||||
ARIA_PAGECACHE_READS 426
|
||||
drop table t1, t2;
|
||||
drop temporary table initial;
|
||||
show status like "key_read%";
|
||||
|
@ -662,6 +662,13 @@ create table t1 ( a tinytext, b char(1), index idx (a(1),b) );
|
||||
insert into t1 values (null,''), (null,'');
|
||||
explain select count(*) from t1 where a is null;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref idx idx 4 const 2 Using where
|
||||
insert into t1 values(1,'a');
|
||||
explain select count(*) from t1 where a is null;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref idx idx 4 const 2 Using where
|
||||
explain select count(*) from t1 where a = 'a';
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref idx idx 4 const 1 Using where
|
||||
select count(*) from t1 where a is null;
|
||||
count(*)
|
||||
|
@ -632,6 +632,9 @@ drop table t1,t2;
|
||||
create table t1 ( a tinytext, b char(1), index idx (a(1),b) );
|
||||
insert into t1 values (null,''), (null,'');
|
||||
explain select count(*) from t1 where a is null;
|
||||
insert into t1 values(1,'a');
|
||||
explain select count(*) from t1 where a is null;
|
||||
explain select count(*) from t1 where a = 'a';
|
||||
select count(*) from t1 where a is null;
|
||||
drop table t1;
|
||||
|
||||
|
Reference in New Issue
Block a user