mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 18:20:07 +01:00
6c50875a38
Limit increased from 1000 to 2000. Avoiding stack overflow by only storing keys and pages on the stack in recursive functions if there is plenty of space on it. Other things: - Use less stack space for b-tree operations as we now only allocate as much space as needed instead of always allocating HA_MAX_KEY_LENGTH. - Replaced most usage of my_safe_alloca() in Aria with the stack_alloc interface. - Moved my_setstacksize() to mysys/my_pthread.c
185 lines
7.1 KiB
Text
185 lines
7.1 KiB
Text
drop table if exists t1,t2;
|
|
Warnings:
|
|
Note 1051 Unknown table 'test.t1'
|
|
Note 1051 Unknown table 'test.t2'
|
|
create table t1 (id int(10) unsigned not null auto_increment primary key, v varchar(2000), 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(2000), b blob, key(v)) row_format=page max_rows=20000000 engine=aria;
|
|
show create table t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`v` varchar(2000) DEFAULT NULL,
|
|
`b` blob DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=Aria DEFAULT CHARSET=latin1 MAX_ROWS=2 PAGE_CHECKSUM=1 ROW_FORMAT=PAGE
|
|
show create table t2;
|
|
Table Create Table
|
|
t2 CREATE TABLE `t2` (
|
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
|
`v` varchar(2000) DEFAULT NULL,
|
|
`b` blob DEFAULT NULL,
|
|
PRIMARY KEY (`id`),
|
|
KEY `v` (`v`)
|
|
) ENGINE=Aria DEFAULT CHARSET=latin1 MAX_ROWS=20000000 PAGE_CHECKSUM=1 ROW_FORMAT=PAGE
|
|
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 Max_index_length Temporary
|
|
t1 Aria 10 Page 0 0 8192 268320768 8192 0 1 # # # latin1_swedish_ci NULL max_rows=2 row_format=PAGE 536862720 N
|
|
t2 Aria 10 Page 0 0 8192 17592186011648 8192 0 1 # # # latin1_swedish_ci NULL max_rows=20000000 row_format=PAGE 137438945280 N
|
|
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;
|
|
create table t1 (
|
|
c1 int unsigned,
|
|
c2 char(80)
|
|
) Engine=ARIA ROW_FORMAT=FIXED min_rows=1000000;
|
|
show create table t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`c1` int(10) unsigned DEFAULT NULL,
|
|
`c2` char(80) DEFAULT NULL
|
|
) ENGINE=Aria DEFAULT CHARSET=latin1 MIN_ROWS=1000000 PAGE_CHECKSUM=1 ROW_FORMAT=FIXED
|
|
insert into t1 select seq,seq from seq_1_to_100000;
|
|
create or replace table t1 (
|
|
c1 int unsigned,
|
|
c2 char(80)
|
|
) Engine=ARIA ROW_FORMAT=FIXED;
|
|
show create table t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`c1` int(10) unsigned DEFAULT NULL,
|
|
`c2` char(80) DEFAULT NULL
|
|
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 ROW_FORMAT=FIXED
|
|
insert into t1 select seq,seq from seq_1_to_100000;
|
|
create or replace table t1 (
|
|
c1 int unsigned,
|
|
c2 char(80)
|
|
) Engine=ARIA ROW_FORMAT=PAGE TRANSACTIONAL=0;
|
|
show create table t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`c1` int(10) unsigned DEFAULT NULL,
|
|
`c2` char(80) DEFAULT NULL
|
|
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 ROW_FORMAT=PAGE TRANSACTIONAL=0
|
|
insert into t1 select seq,seq from seq_1_to_100000;
|
|
create or replace table t1 (
|
|
c1 int unsigned,
|
|
c2 char(80)
|
|
) Engine=ARIA ROW_FORMAT=FIXED MAX_ROWS=10;
|
|
show create table t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`c1` int(10) unsigned DEFAULT NULL,
|
|
`c2` char(80) DEFAULT NULL
|
|
) ENGINE=Aria DEFAULT CHARSET=latin1 MAX_ROWS=10 PAGE_CHECKSUM=1 ROW_FORMAT=FIXED
|
|
insert into t1 select seq,seq from seq_1_to_100000;
|
|
ERROR HY000: The table 't1' is full
|
|
select count(*) from t1;
|
|
count(*)
|
|
65535
|
|
create or replace table t1 (
|
|
c1 int unsigned,
|
|
c2 char(80)
|
|
) Engine=ARIA ROW_FORMAT=DYNAMIC MAX_ROWS=10;
|
|
show create table t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`c1` int(10) unsigned DEFAULT NULL,
|
|
`c2` char(80) DEFAULT NULL
|
|
) ENGINE=Aria DEFAULT CHARSET=latin1 MAX_ROWS=10 PAGE_CHECKSUM=1 ROW_FORMAT=DYNAMIC
|
|
insert into t1 select seq,seq from seq_1_to_100000;
|
|
ERROR HY000: The table 't1' is full
|
|
select count(*) from t1;
|
|
count(*)
|
|
3276
|
|
check table t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 check warning Datafile is almost full, 65520 of 65535 used
|
|
test.t1 check status OK
|
|
create or replace table t1 (
|
|
c1 int unsigned,
|
|
c2 char(80)
|
|
) Engine=ARIA ROW_FORMAT=PAGE MAX_ROWS=10;
|
|
show create table t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`c1` int(10) unsigned DEFAULT NULL,
|
|
`c2` char(80) DEFAULT NULL
|
|
) ENGINE=Aria DEFAULT CHARSET=latin1 MAX_ROWS=10 PAGE_CHECKSUM=1 ROW_FORMAT=PAGE
|
|
insert into t1 select seq,seq from seq_1_to_100000;
|
|
select count(*) from t1;
|
|
count(*)
|
|
100000
|
|
check table t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 check status OK
|
|
drop table t1;
|
|
create or replace table t1 (
|
|
c1 int unsigned,
|
|
c2 char(80)
|
|
) Engine=ARIA ROW_FORMAT=PAGE MAX_ROWS=10;
|
|
show create table t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`c1` int(10) unsigned DEFAULT NULL,
|
|
`c2` char(80) DEFAULT NULL
|
|
) ENGINE=Aria DEFAULT CHARSET=latin1 MAX_ROWS=10 PAGE_CHECKSUM=1 ROW_FORMAT=PAGE
|
|
insert into t1 select seq,seq from seq_1_to_10000000;
|
|
ERROR HY000: The table 't1' is full
|
|
select count(*) from t1;
|
|
count(*)
|
|
6189940
|
|
check table t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 check warning Datafile is almost full, 268320768 of 268320768 used
|
|
test.t1 check status OK
|
|
show table status like "t1";
|
|
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 Max_index_length Temporary
|
|
t1 Aria 10 Page 6189940 43 268320768 268320768 8192 0 NULL # # # latin1_swedish_ci NULL max_rows=10 row_format=PAGE 137438945280 N
|
|
create index seq on t1(c1);
|
|
show table status like "t1";
|
|
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 Max_index_length Temporary
|
|
t1 Aria 10 Page 6189940 43 268320768 268320768 49750016 0 NULL # # # latin1_swedish_ci NULL max_rows=10 page_checksum=1 row_format=PAGE 536862720 N
|
|
drop table t1;
|