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

MDEV-19713 Remove big_tables system variable

mark big_tables deprecated, the server can put temp tables on disk
as needed avoiding "table full" errors.

in case someone would really need to force a tmp table to be created
on disk from the start and for testing allow tmp_memory_table_size
to be set to 0.

fix tests to use that instead (and add a test that it actually
works).

make sure in-memory TREE size limit is never 0 (it's [ab]using
tmp_memory_table_size at the moment)

remove few sys_vars.*_basic tests
This commit is contained in:
Sergei Golubchik
2019-09-18 14:17:26 +02:00
parent de9ef03ae6
commit cd41ffe1f1
47 changed files with 453 additions and 1155 deletions

View File

@ -1412,9 +1412,9 @@ drop table tmp;
# big table done # big table done
SET BIG_TABLES=1; set tmp_memory_table_size=0;
select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10; select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10;
SET BIG_TABLES=0; set tmp_memory_table_size=default;
select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10; select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10;
select distinct fld5 from t2 limit 10; select distinct fld5 from t2 limit 10;
@ -1423,9 +1423,9 @@ select distinct fld5 from t2 limit 10;
# #
select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10; select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10;
SET BIG_TABLES=1; # Force use of MyISAM set tmp_memory_table_size=0;
select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10; select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10;
SET BIG_TABLES=0; set tmp_memory_table_size=default;
select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10; select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10;
# #

View File

@ -515,7 +515,7 @@ insert into tmp select * from t3;
insert into t3 select * from tmp; insert into t3 select * from tmp;
alter table t3 add t2nr int not null auto_increment primary key first; alter table t3 add t2nr int not null auto_increment primary key first;
drop table tmp; drop table tmp;
SET BIG_TABLES=1; set tmp_memory_table_size=0;
select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10; select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10;
namn namn
Abraham Abraham Abraham Abraham
@ -528,7 +528,7 @@ ammonium ammonium
analyzable analyzable analyzable analyzable
animals animals animals animals
animized animized animized animized
SET BIG_TABLES=0; set tmp_memory_table_size=default;
select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10; select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10;
concat(fld3," ",fld3) concat(fld3," ",fld3)
Abraham Abraham Abraham Abraham
@ -565,7 +565,7 @@ attendants 1
bedlam 1 bedlam 1
bedpost 1 bedpost 1
boasted 1 boasted 1
SET BIG_TABLES=1; set tmp_memory_table_size=0;
select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10; select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10;
fld3 count(*) fld3 count(*)
affixed 1 affixed 1
@ -578,7 +578,7 @@ attendants 1
bedlam 1 bedlam 1
bedpost 1 bedpost 1
boasted 1 boasted 1
SET BIG_TABLES=0; set tmp_memory_table_size=default;
select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10; select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10;
fld3 repeat("a",length(fld3)) count(*) fld3 repeat("a",length(fld3)) count(*)
circus aaaaaa 1 circus aaaaaa 1

View File

@ -3110,7 +3110,7 @@ SELECT * FROM cte;
# #
# MDEV-15575: using recursive cte with big_tables enabled # MDEV-15575: using recursive cte with big_tables enabled
# #
set big_tables=1; set tmp_memory_table_size=0;
with recursive qn as with recursive qn as
(select 123 as a union all select 1+a from qn where a<130) (select 123 as a union all select 1+a from qn where a<130)
select * from qn; select * from qn;
@ -3123,13 +3123,13 @@ a
128 128
129 129
130 130
set big_tables=default; set tmp_memory_table_size=default;
# #
# MDEV-15571: using recursive cte with big_tables enabled # MDEV-15571: using recursive cte with big_tables enabled
# #
create table t1 (a bigint); create table t1 (a bigint);
insert into t1 values(1); insert into t1 values(1);
set big_tables=1; set tmp_memory_table_size=0;
with recursive qn as with recursive qn as
( (
select a from t1 select a from t1
@ -3138,13 +3138,13 @@ select a*2000 from qn where a<10000000000000000000
) )
select * from qn; select * from qn;
ERROR 22003: BIGINT value is out of range in '`qn`.`a` * 2000' ERROR 22003: BIGINT value is out of range in '`qn`.`a` * 2000'
set big_tables=default; set tmp_memory_table_size=default;
drop table t1; drop table t1;
# #
# MDEV-15556: using recursive cte with big_tables enabled # MDEV-15556: using recursive cte with big_tables enabled
# when recursive tables are accessed by key # when recursive tables are accessed by key
# #
SET big_tables=1; set tmp_memory_table_size=0;
CREATE TABLE t1 (id int, name char(10), leftpar int, rightpar int); CREATE TABLE t1 (id int, name char(10), leftpar int, rightpar int);
INSERT INTO t1 VALUES INSERT INTO t1 VALUES
(1, "A", 2, 3), (2, "LA", 4, 5), (4, "LLA", 6, 7), (1, "A", 2, 3), (2, "LA", 4, 5), (4, "LLA", 6, 7),
@ -3195,7 +3195,7 @@ id select_type table type possible_keys key key_len ref rows Extra
4 RECURSIVE UNION <derived2> ref key0 key0 5 test.t2.id 2 4 RECURSIVE UNION <derived2> ref key0 key0 5 test.t2.id 2
NULL UNION RESULT <union2,3,4> ALL NULL NULL NULL NULL NULL NULL UNION RESULT <union2,3,4> ALL NULL NULL NULL NULL NULL
DROP TABLE t1,t2; DROP TABLE t1,t2;
SET big_tables=0; set tmp_memory_table_size=default;
# #
# MDEV-15840: recursive tables are accessed by key # MDEV-15840: recursive tables are accessed by key
# (the same problem as for MDEV-15556) # (the same problem as for MDEV-15556)

View File

@ -2138,13 +2138,13 @@ SELECT * FROM cte;
--echo # MDEV-15575: using recursive cte with big_tables enabled --echo # MDEV-15575: using recursive cte with big_tables enabled
--echo # --echo #
set big_tables=1; set tmp_memory_table_size=0; # force on-disk tmp table
with recursive qn as with recursive qn as
(select 123 as a union all select 1+a from qn where a<130) (select 123 as a union all select 1+a from qn where a<130)
select * from qn; select * from qn;
set big_tables=default; set tmp_memory_table_size=default;
--echo # --echo #
--echo # MDEV-15571: using recursive cte with big_tables enabled --echo # MDEV-15571: using recursive cte with big_tables enabled
@ -2153,7 +2153,7 @@ set big_tables=default;
create table t1 (a bigint); create table t1 (a bigint);
insert into t1 values(1); insert into t1 values(1);
set big_tables=1; set tmp_memory_table_size=0; # force on-disk tmp table
--error ER_DATA_OUT_OF_RANGE --error ER_DATA_OUT_OF_RANGE
with recursive qn as with recursive qn as
@ -2164,7 +2164,7 @@ with recursive qn as
) )
select * from qn; select * from qn;
set big_tables=default; set tmp_memory_table_size=default;
drop table t1; drop table t1;
@ -2173,7 +2173,7 @@ drop table t1;
--echo # when recursive tables are accessed by key --echo # when recursive tables are accessed by key
--echo # --echo #
SET big_tables=1; set tmp_memory_table_size=0; # force on-disk tmp table
CREATE TABLE t1 (id int, name char(10), leftpar int, rightpar int); CREATE TABLE t1 (id int, name char(10), leftpar int, rightpar int);
INSERT INTO t1 VALUES INSERT INTO t1 VALUES
@ -2202,7 +2202,7 @@ eval EXPLAIN $q;
DROP TABLE t1,t2; DROP TABLE t1,t2;
SET big_tables=0; set tmp_memory_table_size=default;
--echo # --echo #
--echo # MDEV-15840: recursive tables are accessed by key --echo # MDEV-15840: recursive tables are accessed by key

View File

@ -321,6 +321,7 @@ a c count(distinct rand())
drop table t1; drop table t1;
CREATE TABLE t1 (a char(1)); CREATE TABLE t1 (a char(1));
INSERT INTO t1 VALUES ('A'),('B'),('A'),('B'),('A'),('B'),(NULL),('a'),('b'),(NULL),('A'),('B'),(NULL); INSERT INTO t1 VALUES ('A'),('B'),('A'),('B'),('A'),('B'),(NULL),('a'),('b'),(NULL),('A'),('B'),(NULL);
flush status;
SELECT a FROM t1 GROUP BY a; SELECT a FROM t1 GROUP BY a;
a a
NULL NULL
@ -359,7 +360,11 @@ A 4
B 4 B 4
a 1 a 1
b 1 b 1
SET BIG_TABLES=1; show status like 'Created%tables';
Variable_name Value
Created_tmp_disk_tables 0
Created_tmp_tables 6
set tmp_memory_table_size=0;
SELECT a FROM t1 GROUP BY a; SELECT a FROM t1 GROUP BY a;
a a
NULL NULL
@ -398,7 +403,11 @@ A 4
B 4 B 4
a 1 a 1
b 1 b 1
SET BIG_TABLES=0; show status like 'Created%tables';
Variable_name Value
Created_tmp_disk_tables 6
Created_tmp_tables 12
set tmp_memory_table_size=default;
drop table t1; drop table t1;
CREATE TABLE t1 ( CREATE TABLE t1 (
`a` char(193) default NULL, `a` char(193) default NULL,
@ -515,14 +524,14 @@ a count(*)
NULL 9 NULL 9
3 3
b 1 b 1
set big_tables=1; set tmp_memory_table_size=0;
select a,count(*) from t1 group by a; select a,count(*) from t1 group by a;
a count(*) a count(*)
NULL 9 NULL 9
3 3
b 1 b 1
drop table t1; drop table t1;
set big_tables=0; set tmp_memory_table_size=default;
SET @save_optimizer_use_condition_selectivity=@@optimizer_use_condition_selectivity,@save_optimizer_switch=@@optimizer_switch; SET @save_optimizer_use_condition_selectivity=@@optimizer_use_condition_selectivity,@save_optimizer_switch=@@optimizer_switch;
SET optimizer_switch='outer_join_with_cache=off',@@optimizer_use_condition_selectivity=4; SET optimizer_switch='outer_join_with_cache=off',@@optimizer_use_condition_selectivity=4;
create table t1 (a int not null, b int not null); create table t1 (a int not null, b int not null);
@ -1964,7 +1973,7 @@ DROP TABLE t1;
# Bug#11765254 (58200): Assertion failed: param.sort_length when grouping # Bug#11765254 (58200): Assertion failed: param.sort_length when grouping
# by functions # by functions
# #
SET BIG_TABLES=1; set tmp_memory_table_size=0;
CREATE TABLE t1(a INT); CREATE TABLE t1(a INT);
INSERT INTO t1 VALUES (0),(0); INSERT INTO t1 VALUES (0),(0);
SELECT 1 FROM t1 GROUP BY IF(`a`,'',''); SELECT 1 FROM t1 GROUP BY IF(`a`,'','');
@ -1991,7 +2000,7 @@ Warning 1292 Truncated incorrect INTEGER value: 'jxW<'
Warning 1292 Truncated incorrect INTEGER value: 'K' Warning 1292 Truncated incorrect INTEGER value: 'K'
Warning 1292 Truncated incorrect INTEGER value: 'jxW<' Warning 1292 Truncated incorrect INTEGER value: 'jxW<'
DROP TABLE t1; DROP TABLE t1;
SET BIG_TABLES=0; set tmp_memory_table_size=default;
# #
# MDEV-641 LP:1002108 - Wrong result (or crash) from a query with duplicated field in the group list and a limit clause # MDEV-641 LP:1002108 - Wrong result (or crash) from a query with duplicated field in the group list and a limit clause
# Bug#11761078: 53534: INCORRECT 'SELECT SQL_BIG_RESULT...' # Bug#11761078: 53534: INCORRECT 'SELECT SQL_BIG_RESULT...'

View File

@ -280,21 +280,28 @@ drop table t1;
CREATE TABLE t1 (a char(1)); CREATE TABLE t1 (a char(1));
INSERT INTO t1 VALUES ('A'),('B'),('A'),('B'),('A'),('B'),(NULL),('a'),('b'),(NULL),('A'),('B'),(NULL); INSERT INTO t1 VALUES ('A'),('B'),('A'),('B'),('A'),('B'),(NULL),('a'),('b'),(NULL),('A'),('B'),(NULL);
flush status;
SELECT a FROM t1 GROUP BY a; SELECT a FROM t1 GROUP BY a;
SELECT a,count(*) FROM t1 GROUP BY a; SELECT a,count(*) FROM t1 GROUP BY a;
SELECT a FROM t1 GROUP BY binary a; SELECT a FROM t1 GROUP BY binary a;
SELECT a,count(*) FROM t1 GROUP BY binary a; SELECT a,count(*) FROM t1 GROUP BY binary a;
SELECT binary a FROM t1 GROUP BY 1; SELECT binary a FROM t1 GROUP BY 1;
SELECT binary a,count(*) FROM t1 GROUP BY 1; SELECT binary a,count(*) FROM t1 GROUP BY 1;
# Do the same tests with MyISAM temporary tables --disable_ps_protocol
SET BIG_TABLES=1; show status like 'Created%tables';
--enable_ps_protocol
# Do the same tests with on-disk temporary tables
set tmp_memory_table_size=0;
SELECT a FROM t1 GROUP BY a; SELECT a FROM t1 GROUP BY a;
SELECT a,count(*) FROM t1 GROUP BY a; SELECT a,count(*) FROM t1 GROUP BY a;
SELECT a FROM t1 GROUP BY binary a; SELECT a FROM t1 GROUP BY binary a;
SELECT a,count(*) FROM t1 GROUP BY binary a; SELECT a,count(*) FROM t1 GROUP BY binary a;
SELECT binary a FROM t1 GROUP BY 1; SELECT binary a FROM t1 GROUP BY 1;
SELECT binary a,count(*) FROM t1 GROUP BY 1; SELECT binary a,count(*) FROM t1 GROUP BY 1;
SET BIG_TABLES=0; --disable_ps_protocol
show status like 'Created%tables';
--enable_ps_protocol
set tmp_memory_table_size=default;
drop table t1; drop table t1;
# #
@ -391,10 +398,10 @@ drop table t1,t2,t3;
create table t1 (a blob null); create table t1 (a blob null);
insert into t1 values (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(""),(""),(""),("b"); insert into t1 values (NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(NULL),(""),(""),(""),("b");
select a,count(*) from t1 group by a; select a,count(*) from t1 group by a;
set big_tables=1; set tmp_memory_table_size=0;
select a,count(*) from t1 group by a; select a,count(*) from t1 group by a;
drop table t1; drop table t1;
set big_tables=0; set tmp_memory_table_size=default;
# #
# Test of GROUP BY ... ORDER BY NULL optimization # Test of GROUP BY ... ORDER BY NULL optimization
@ -1344,7 +1351,7 @@ DROP TABLE t1;
--echo # by functions --echo # by functions
--echo # --echo #
SET BIG_TABLES=1; set tmp_memory_table_size=0;
CREATE TABLE t1(a INT); CREATE TABLE t1(a INT);
INSERT INTO t1 VALUES (0),(0); INSERT INTO t1 VALUES (0),(0);
SELECT 1 FROM t1 GROUP BY IF(`a`,'',''); SELECT 1 FROM t1 GROUP BY IF(`a`,'','');
@ -1352,7 +1359,7 @@ SELECT 1 FROM t1 GROUP BY TRIM(LEADING RAND() FROM '');
SELECT 1 FROM t1 GROUP BY SUBSTRING('',SLEEP(0),''); SELECT 1 FROM t1 GROUP BY SUBSTRING('',SLEEP(0),'');
SELECT 1 FROM t1 GROUP BY SUBSTRING(SYSDATE() FROM 'K' FOR 'jxW<'); SELECT 1 FROM t1 GROUP BY SUBSTRING(SYSDATE() FROM 'K' FOR 'jxW<');
DROP TABLE t1; DROP TABLE t1;
SET BIG_TABLES=0; set tmp_memory_table_size=default;
--echo # --echo #
--echo # MDEV-641 LP:1002108 - Wrong result (or crash) from a query with duplicated field in the group list and a limit clause --echo # MDEV-641 LP:1002108 - Wrong result (or crash) from a query with duplicated field in the group list and a limit clause

View File

@ -509,7 +509,7 @@ insert into tmp select * from t3;
insert into t3 select * from tmp; insert into t3 select * from tmp;
alter table t3 add t2nr int not null auto_increment primary key first; alter table t3 add t2nr int not null auto_increment primary key first;
drop table tmp; drop table tmp;
SET BIG_TABLES=1; set tmp_memory_table_size=0;
select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10; select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10;
namn namn
Abraham Abraham Abraham Abraham
@ -522,7 +522,7 @@ ammonium ammonium
analyzable analyzable analyzable analyzable
animals animals animals animals
animized animized animized animized
SET BIG_TABLES=0; set tmp_memory_table_size=default;
select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10; select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10;
concat(fld3," ",fld3) concat(fld3," ",fld3)
Abraham Abraham Abraham Abraham
@ -559,7 +559,7 @@ attendants 1
bedlam 1 bedlam 1
bedpost 1 bedpost 1
boasted 1 boasted 1
SET BIG_TABLES=1; set tmp_memory_table_size=0;
select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10; select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10;
fld3 count(*) fld3 count(*)
affixed 1 affixed 1
@ -572,7 +572,7 @@ attendants 1
bedlam 1 bedlam 1
bedpost 1 bedpost 1
boasted 1 boasted 1
SET BIG_TABLES=0; set tmp_memory_table_size=default;
select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10; select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10;
fld3 repeat("a",length(fld3)) count(*) fld3 repeat("a",length(fld3)) count(*)
circus aaaaaa 1 circus aaaaaa 1

View File

@ -509,7 +509,7 @@ insert into tmp select * from t3;
insert into t3 select * from tmp; insert into t3 select * from tmp;
alter table t3 add t2nr int not null auto_increment primary key first; alter table t3 add t2nr int not null auto_increment primary key first;
drop table tmp; drop table tmp;
SET BIG_TABLES=1; set tmp_memory_table_size=0;
select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10; select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10;
namn namn
Abraham Abraham Abraham Abraham
@ -522,7 +522,7 @@ ammonium ammonium
analyzable analyzable analyzable analyzable
animals animals animals animals
animized animized animized animized
SET BIG_TABLES=0; set tmp_memory_table_size=default;
select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10; select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10;
concat(fld3," ",fld3) concat(fld3," ",fld3)
Abraham Abraham Abraham Abraham
@ -559,7 +559,7 @@ attendants 1
bedlam 1 bedlam 1
bedpost 1 bedpost 1
boasted 1 boasted 1
SET BIG_TABLES=1; set tmp_memory_table_size=0;
select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10; select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10;
fld3 count(*) fld3 count(*)
affixed 1 affixed 1
@ -572,7 +572,7 @@ attendants 1
bedlam 1 bedlam 1
bedpost 1 bedpost 1
boasted 1 boasted 1
SET BIG_TABLES=0; set tmp_memory_table_size=default;
select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10; select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10;
fld3 repeat("a",length(fld3)) count(*) fld3 repeat("a",length(fld3)) count(*)
circus aaaaaa 1 circus aaaaaa 1

View File

@ -512,7 +512,7 @@ insert into tmp select * from t3;
insert into t3 select * from tmp; insert into t3 select * from tmp;
alter table t3 add t2nr int not null auto_increment primary key first; alter table t3 add t2nr int not null auto_increment primary key first;
drop table tmp; drop table tmp;
SET BIG_TABLES=1; set tmp_memory_table_size=0;
select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10; select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10;
namn namn
Abraham Abraham Abraham Abraham
@ -525,7 +525,7 @@ ammonium ammonium
analyzable analyzable analyzable analyzable
animals animals animals animals
animized animized animized animized
SET BIG_TABLES=0; set tmp_memory_table_size=default;
select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10; select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10;
concat(fld3," ",fld3) concat(fld3," ",fld3)
Abraham Abraham Abraham Abraham
@ -562,7 +562,7 @@ attendants 1
bedlam 1 bedlam 1
bedpost 1 bedpost 1
boasted 1 boasted 1
SET BIG_TABLES=1; set tmp_memory_table_size=0;
select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10; select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10;
fld3 count(*) fld3 count(*)
affixed 1 affixed 1
@ -575,7 +575,7 @@ attendants 1
bedlam 1 bedlam 1
bedpost 1 bedpost 1
boasted 1 boasted 1
SET BIG_TABLES=0; set tmp_memory_table_size=default;
select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10; select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10;
fld3 repeat("a",length(fld3)) count(*) fld3 repeat("a",length(fld3)) count(*)
circus aaaaaa 1 circus aaaaaa 1

View File

@ -1425,9 +1425,9 @@ drop table tmp;
# big table done # big table done
SET BIG_TABLES=1; set tmp_memory_table_size=0; # force on-disk tmp table
select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10; select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10;
SET BIG_TABLES=0; set tmp_memory_table_size=default;
select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10; select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10;
select distinct fld5 from t2 limit 10; select distinct fld5 from t2 limit 10;
@ -1436,9 +1436,9 @@ select distinct fld5 from t2 limit 10;
# #
select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10; select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10;
SET BIG_TABLES=1; # Force use of MyISAM set tmp_memory_table_size=0; # force on-disk tmp table
select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10; select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10;
SET BIG_TABLES=0; set tmp_memory_table_size=default;
select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10; select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10;
# #

View File

@ -523,7 +523,7 @@ insert into tmp select * from t3;
insert into t3 select * from tmp; insert into t3 select * from tmp;
alter table t3 add t2nr int not null auto_increment primary key first; alter table t3 add t2nr int not null auto_increment primary key first;
drop table tmp; drop table tmp;
SET BIG_TABLES=1; set tmp_memory_table_size=0;
select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10; select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10;
namn namn
Abraham Abraham Abraham Abraham
@ -536,7 +536,7 @@ ammonium ammonium
analyzable analyzable analyzable analyzable
animals animals animals animals
animized animized animized animized
SET BIG_TABLES=0; set tmp_memory_table_size=default;
select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10; select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10;
concat(fld3," ",fld3) concat(fld3," ",fld3)
Abraham Abraham Abraham Abraham
@ -573,7 +573,7 @@ attendants 1
bedlam 1 bedlam 1
bedpost 1 bedpost 1
boasted 1 boasted 1
SET BIG_TABLES=1; set tmp_memory_table_size=0;
select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10; select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10;
fld3 count(*) fld3 count(*)
affixed 1 affixed 1
@ -586,7 +586,7 @@ attendants 1
bedlam 1 bedlam 1
bedpost 1 bedpost 1
boasted 1 boasted 1
SET BIG_TABLES=0; set tmp_memory_table_size=default;
select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10; select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10;
fld3 repeat("a",length(fld3)) count(*) fld3 repeat("a",length(fld3)) count(*)
circus aaaaaa 1 circus aaaaaa 1

View File

@ -512,7 +512,7 @@ insert into tmp select * from t3;
insert into t3 select * from tmp; insert into t3 select * from tmp;
alter table t3 add t2nr int not null auto_increment primary key first; alter table t3 add t2nr int not null auto_increment primary key first;
drop table tmp; drop table tmp;
SET BIG_TABLES=1; set tmp_memory_table_size=0;
select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10; select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10;
namn namn
Abraham Abraham Abraham Abraham
@ -525,7 +525,7 @@ ammonium ammonium
analyzable analyzable analyzable analyzable
animals animals animals animals
animized animized animized animized
SET BIG_TABLES=0; set tmp_memory_table_size=default;
select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10; select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10;
concat(fld3," ",fld3) concat(fld3," ",fld3)
Abraham Abraham Abraham Abraham
@ -562,7 +562,7 @@ attendants 1
bedlam 1 bedlam 1
bedpost 1 bedpost 1
boasted 1 boasted 1
SET BIG_TABLES=1; set tmp_memory_table_size=0;
select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10; select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10;
fld3 count(*) fld3 count(*)
affixed 1 affixed 1
@ -575,7 +575,7 @@ attendants 1
bedlam 1 bedlam 1
bedpost 1 bedpost 1
boasted 1 boasted 1
SET BIG_TABLES=0; set tmp_memory_table_size=default;
select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10; select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10;
fld3 repeat("a",length(fld3)) count(*) fld3 repeat("a",length(fld3)) count(*)
circus aaaaaa 1 circus aaaaaa 1

View File

@ -518,7 +518,7 @@ insert into tmp select * from t3;
insert into t3 select * from tmp; insert into t3 select * from tmp;
alter table t3 add t2nr int not null auto_increment primary key first; alter table t3 add t2nr int not null auto_increment primary key first;
drop table tmp; drop table tmp;
SET BIG_TABLES=1; set tmp_memory_table_size=0;
select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10; select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10;
namn namn
Abraham Abraham Abraham Abraham
@ -531,7 +531,7 @@ ammonium ammonium
analyzable analyzable analyzable analyzable
animals animals animals animals
animized animized animized animized
SET BIG_TABLES=0; set tmp_memory_table_size=default;
select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10; select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10;
concat(fld3," ",fld3) concat(fld3," ",fld3)
Abraham Abraham Abraham Abraham
@ -568,7 +568,7 @@ attendants 1
bedlam 1 bedlam 1
bedpost 1 bedpost 1
boasted 1 boasted 1
SET BIG_TABLES=1; set tmp_memory_table_size=0;
select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10; select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10;
fld3 count(*) fld3 count(*)
affixed 1 affixed 1
@ -581,7 +581,7 @@ attendants 1
bedlam 1 bedlam 1
bedpost 1 bedpost 1
boasted 1 boasted 1
SET BIG_TABLES=0; set tmp_memory_table_size=default;
select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10; select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10;
fld3 repeat("a",length(fld3)) count(*) fld3 repeat("a",length(fld3)) count(*)
circus aaaaaa 1 circus aaaaaa 1

View File

@ -515,7 +515,7 @@ insert into tmp select * from t3;
insert into t3 select * from tmp; insert into t3 select * from tmp;
alter table t3 add t2nr int not null auto_increment primary key first; alter table t3 add t2nr int not null auto_increment primary key first;
drop table tmp; drop table tmp;
SET BIG_TABLES=1; set tmp_memory_table_size=0;
select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10; select distinct concat(fld3," ",fld3) as namn from t2,t3 where t2.fld1=t3.t2nr order by namn limit 10;
namn namn
Abraham Abraham Abraham Abraham
@ -528,7 +528,7 @@ ammonium ammonium
analyzable analyzable analyzable analyzable
animals animals animals animals
animized animized animized animized
SET BIG_TABLES=0; set tmp_memory_table_size=default;
select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10; select distinct concat(fld3," ",fld3) from t2,t3 where t2.fld1=t3.t2nr order by fld3 limit 10;
concat(fld3," ",fld3) concat(fld3," ",fld3)
Abraham Abraham Abraham Abraham
@ -565,7 +565,7 @@ attendants 1
bedlam 1 bedlam 1
bedpost 1 bedpost 1
boasted 1 boasted 1
SET BIG_TABLES=1; set tmp_memory_table_size=0;
select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10; select distinct fld3,count(*) from t2 group by companynr,fld3 limit 10;
fld3 count(*) fld3 count(*)
affixed 1 affixed 1
@ -578,7 +578,7 @@ attendants 1
bedlam 1 bedlam 1
bedpost 1 bedpost 1
boasted 1 boasted 1
SET BIG_TABLES=0; set tmp_memory_table_size=default;
select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10; select distinct fld3,repeat("a",length(fld3)),count(*) from t2 group by companynr,fld3 limit 100,10;
fld3 repeat("a",length(fld3)) count(*) fld3 repeat("a",length(fld3)) count(*)
circus aaaaaa 1 circus aaaaaa 1

View File

@ -7134,7 +7134,7 @@ drop table t1,t2,t3,t4;
# MDEV-7122 # MDEV-7122
# Assertion `0' failed in subselect_hash_sj_engine::init # Assertion `0' failed in subselect_hash_sj_engine::init
# #
SET SESSION big_tables=1; set tmp_memory_table_size=0;
CREATE TABLE t1(a char(255) DEFAULT '', KEY(a(10))) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; CREATE TABLE t1(a char(255) DEFAULT '', KEY(a(10))) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
INSERT INTO t1 VALUES(0),(0),(0); INSERT INTO t1 VALUES(0),(0),(0);
SELECT * FROM t1 WHERE a IN(SELECT MIN(a) FROM t1); SELECT * FROM t1 WHERE a IN(SELECT MIN(a) FROM t1);
@ -7143,7 +7143,7 @@ a
0 0
0 0
DROP TABLE t1; DROP TABLE t1;
SET SESSION big_tables=0; set tmp_memory_table_size=default;
# #
# MDEV-10776: Server crash on query # MDEV-10776: Server crash on query
# #

View File

@ -5959,12 +5959,12 @@ drop table t1,t2,t3,t4;
--echo # MDEV-7122 --echo # MDEV-7122
--echo # Assertion `0' failed in subselect_hash_sj_engine::init --echo # Assertion `0' failed in subselect_hash_sj_engine::init
--echo # --echo #
SET SESSION big_tables=1; set tmp_memory_table_size=0; # force on-disk tmp table
CREATE TABLE t1(a char(255) DEFAULT '', KEY(a(10))) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; CREATE TABLE t1(a char(255) DEFAULT '', KEY(a(10))) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
INSERT INTO t1 VALUES(0),(0),(0); INSERT INTO t1 VALUES(0),(0),(0);
SELECT * FROM t1 WHERE a IN(SELECT MIN(a) FROM t1); SELECT * FROM t1 WHERE a IN(SELECT MIN(a) FROM t1);
DROP TABLE t1; DROP TABLE t1;
SET SESSION big_tables=0; set tmp_memory_table_size=default;
--echo # --echo #
--echo # MDEV-10776: Server crash on query --echo # MDEV-10776: Server crash on query

View File

@ -1861,7 +1861,7 @@ Subquery_cache_hit 0
Subquery_cache_miss 4 Subquery_cache_miss 4
drop table t1; drop table t1;
#test of big_tables switch and outer table reference in subquery with grouping #test of big_tables switch and outer table reference in subquery with grouping
set big_tables=1; set tmp_memory_table_size=0;
CREATE TABLE t1 (a INT PRIMARY KEY, b INT); CREATE TABLE t1 (a INT PRIMARY KEY, b INT);
INSERT INTO t1 VALUES (1,1),(2,1),(3,2),(4,2),(5,3),(6,3); INSERT INTO t1 VALUES (1,1),(2,1),(3,2),(4,2),(5,3),(6,3);
SELECT (SELECT t1_outer.a FROM t1 AS t1_inner GROUP BY b LIMIT 1) FROM t1 AS t1_outer; SELECT (SELECT t1_outer.a FROM t1 AS t1_inner GROUP BY b LIMIT 1) FROM t1 AS t1_outer;
@ -1873,7 +1873,7 @@ SELECT (SELECT t1_outer.a FROM t1 AS t1_inner GROUP BY b LIMIT 1) FROM t1 AS t1_
5 5
6 6
drop table t1; drop table t1;
set big_tables=0; set tmp_memory_table_size=default;
#test of function reference to outer query #test of function reference to outer query
set local group_concat_max_len=400; set local group_concat_max_len=400;
create table t2 (a int, b int); create table t2 (a int, b int);

View File

@ -429,12 +429,12 @@ show status like "subquery_cache%";
drop table t1; drop table t1;
--echo #test of big_tables switch and outer table reference in subquery with grouping --echo #test of big_tables switch and outer table reference in subquery with grouping
set big_tables=1; set tmp_memory_table_size=0; # force on-disk tmp table
CREATE TABLE t1 (a INT PRIMARY KEY, b INT); CREATE TABLE t1 (a INT PRIMARY KEY, b INT);
INSERT INTO t1 VALUES (1,1),(2,1),(3,2),(4,2),(5,3),(6,3); INSERT INTO t1 VALUES (1,1),(2,1),(3,2),(4,2),(5,3),(6,3);
SELECT (SELECT t1_outer.a FROM t1 AS t1_inner GROUP BY b LIMIT 1) FROM t1 AS t1_outer; SELECT (SELECT t1_outer.a FROM t1 AS t1_inner GROUP BY b LIMIT 1) FROM t1 AS t1_outer;
drop table t1; drop table t1;
set big_tables=0; set tmp_memory_table_size=default;
--echo #test of function reference to outer query --echo #test of function reference to outer query
set local group_concat_max_len=400; set local group_concat_max_len=400;

View File

@ -2118,8 +2118,7 @@ DROP VIEW v2;
# #
# MDEV-5811: Server crashes in best_access_path with materialization+semijoin and big_tables=ON # MDEV-5811: Server crashes in best_access_path with materialization+semijoin and big_tables=ON
# #
SET @tmp_mdev5811= @@big_tables; set tmp_memory_table_size=0;
SET big_tables = ON;
CREATE TABLE t1 (a INT); CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1),(2); INSERT INTO t1 VALUES (1),(2);
CREATE TABLE t2 (b INT); CREATE TABLE t2 (b INT);
@ -2128,7 +2127,7 @@ SELECT * FROM t1 AS t1_1, t1 AS t1_2
WHERE ( t1_1.a, t1_2.a ) IN ( SELECT MAX(b), MIN(b) FROM t2 ); WHERE ( t1_1.a, t1_2.a ) IN ( SELECT MAX(b), MIN(b) FROM t2 );
a a a a
DROP TABLE t1,t2; DROP TABLE t1,t2;
SET big_tables=@tmp_mdev5811; set tmp_memory_table_size=default;
# End of 5.3 tests # End of 5.3 tests
# #
# MDEV-5056: Wrong result (extra rows) with materialization+semijoin, IN subqueries # MDEV-5056: Wrong result (extra rows) with materialization+semijoin, IN subqueries

View File

@ -7134,7 +7134,7 @@ drop table t1,t2,t3,t4;
# MDEV-7122 # MDEV-7122
# Assertion `0' failed in subselect_hash_sj_engine::init # Assertion `0' failed in subselect_hash_sj_engine::init
# #
SET SESSION big_tables=1; set tmp_memory_table_size=0;
CREATE TABLE t1(a char(255) DEFAULT '', KEY(a(10))) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; CREATE TABLE t1(a char(255) DEFAULT '', KEY(a(10))) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
INSERT INTO t1 VALUES(0),(0),(0); INSERT INTO t1 VALUES(0),(0),(0);
SELECT * FROM t1 WHERE a IN(SELECT MIN(a) FROM t1); SELECT * FROM t1 WHERE a IN(SELECT MIN(a) FROM t1);
@ -7143,7 +7143,7 @@ a
0 0
0 0
DROP TABLE t1; DROP TABLE t1;
SET SESSION big_tables=0; set tmp_memory_table_size=default;
# #
# MDEV-10776: Server crash on query # MDEV-10776: Server crash on query
# #

View File

@ -7127,7 +7127,7 @@ drop table t1,t2,t3,t4;
# MDEV-7122 # MDEV-7122
# Assertion `0' failed in subselect_hash_sj_engine::init # Assertion `0' failed in subselect_hash_sj_engine::init
# #
SET SESSION big_tables=1; set tmp_memory_table_size=0;
CREATE TABLE t1(a char(255) DEFAULT '', KEY(a(10))) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; CREATE TABLE t1(a char(255) DEFAULT '', KEY(a(10))) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
INSERT INTO t1 VALUES(0),(0),(0); INSERT INTO t1 VALUES(0),(0),(0);
SELECT * FROM t1 WHERE a IN(SELECT MIN(a) FROM t1); SELECT * FROM t1 WHERE a IN(SELECT MIN(a) FROM t1);
@ -7136,7 +7136,7 @@ a
0 0
0 0
DROP TABLE t1; DROP TABLE t1;
SET SESSION big_tables=0; set tmp_memory_table_size=default;
# #
# MDEV-10776: Server crash on query # MDEV-10776: Server crash on query
# #

View File

@ -7125,7 +7125,7 @@ drop table t1,t2,t3,t4;
# MDEV-7122 # MDEV-7122
# Assertion `0' failed in subselect_hash_sj_engine::init # Assertion `0' failed in subselect_hash_sj_engine::init
# #
SET SESSION big_tables=1; set tmp_memory_table_size=0;
CREATE TABLE t1(a char(255) DEFAULT '', KEY(a(10))) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; CREATE TABLE t1(a char(255) DEFAULT '', KEY(a(10))) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
INSERT INTO t1 VALUES(0),(0),(0); INSERT INTO t1 VALUES(0),(0),(0);
SELECT * FROM t1 WHERE a IN(SELECT MIN(a) FROM t1); SELECT * FROM t1 WHERE a IN(SELECT MIN(a) FROM t1);
@ -7134,7 +7134,7 @@ a
0 0
0 0
DROP TABLE t1; DROP TABLE t1;
SET SESSION big_tables=0; set tmp_memory_table_size=default;
# #
# MDEV-10776: Server crash on query # MDEV-10776: Server crash on query
# #

View File

@ -7140,7 +7140,7 @@ drop table t1,t2,t3,t4;
# MDEV-7122 # MDEV-7122
# Assertion `0' failed in subselect_hash_sj_engine::init # Assertion `0' failed in subselect_hash_sj_engine::init
# #
SET SESSION big_tables=1; set tmp_memory_table_size=0;
CREATE TABLE t1(a char(255) DEFAULT '', KEY(a(10))) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; CREATE TABLE t1(a char(255) DEFAULT '', KEY(a(10))) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
INSERT INTO t1 VALUES(0),(0),(0); INSERT INTO t1 VALUES(0),(0),(0);
SELECT * FROM t1 WHERE a IN(SELECT MIN(a) FROM t1); SELECT * FROM t1 WHERE a IN(SELECT MIN(a) FROM t1);
@ -7149,7 +7149,7 @@ a
0 0
0 0
DROP TABLE t1; DROP TABLE t1;
SET SESSION big_tables=0; set tmp_memory_table_size=default;
# #
# MDEV-10776: Server crash on query # MDEV-10776: Server crash on query
# #

View File

@ -7125,7 +7125,7 @@ drop table t1,t2,t3,t4;
# MDEV-7122 # MDEV-7122
# Assertion `0' failed in subselect_hash_sj_engine::init # Assertion `0' failed in subselect_hash_sj_engine::init
# #
SET SESSION big_tables=1; set tmp_memory_table_size=0;
CREATE TABLE t1(a char(255) DEFAULT '', KEY(a(10))) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; CREATE TABLE t1(a char(255) DEFAULT '', KEY(a(10))) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
INSERT INTO t1 VALUES(0),(0),(0); INSERT INTO t1 VALUES(0),(0),(0);
SELECT * FROM t1 WHERE a IN(SELECT MIN(a) FROM t1); SELECT * FROM t1 WHERE a IN(SELECT MIN(a) FROM t1);
@ -7134,7 +7134,7 @@ a
0 0
0 0
DROP TABLE t1; DROP TABLE t1;
SET SESSION big_tables=0; set tmp_memory_table_size=default;
# #
# MDEV-10776: Server crash on query # MDEV-10776: Server crash on query
# #

View File

@ -2154,8 +2154,7 @@ DROP VIEW v2;
# #
# MDEV-5811: Server crashes in best_access_path with materialization+semijoin and big_tables=ON # MDEV-5811: Server crashes in best_access_path with materialization+semijoin and big_tables=ON
# #
SET @tmp_mdev5811= @@big_tables; set tmp_memory_table_size=0;
SET big_tables = ON;
CREATE TABLE t1 (a INT); CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1),(2); INSERT INTO t1 VALUES (1),(2);
CREATE TABLE t2 (b INT); CREATE TABLE t2 (b INT);
@ -2164,7 +2163,7 @@ SELECT * FROM t1 AS t1_1, t1 AS t1_2
WHERE ( t1_1.a, t1_2.a ) IN ( SELECT MAX(b), MIN(b) FROM t2 ); WHERE ( t1_1.a, t1_2.a ) IN ( SELECT MAX(b), MIN(b) FROM t2 );
a a a a
DROP TABLE t1,t2; DROP TABLE t1,t2;
SET big_tables=@tmp_mdev5811; set tmp_memory_table_size=default;
# End of 5.3 tests # End of 5.3 tests
# #
# MDEV-5056: Wrong result (extra rows) with materialization+semijoin, IN subqueries # MDEV-5056: Wrong result (extra rows) with materialization+semijoin, IN subqueries

View File

@ -1760,8 +1760,7 @@ DROP VIEW v2;
--echo # --echo #
--echo # MDEV-5811: Server crashes in best_access_path with materialization+semijoin and big_tables=ON --echo # MDEV-5811: Server crashes in best_access_path with materialization+semijoin and big_tables=ON
--echo # --echo #
SET @tmp_mdev5811= @@big_tables; set tmp_memory_table_size=0; # force on-disk tmp table
SET big_tables = ON;
CREATE TABLE t1 (a INT); CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1),(2); INSERT INTO t1 VALUES (1),(2);
@ -1773,7 +1772,7 @@ SELECT * FROM t1 AS t1_1, t1 AS t1_2
WHERE ( t1_1.a, t1_2.a ) IN ( SELECT MAX(b), MIN(b) FROM t2 ); WHERE ( t1_1.a, t1_2.a ) IN ( SELECT MAX(b), MIN(b) FROM t2 );
DROP TABLE t1,t2; DROP TABLE t1,t2;
SET big_tables=@tmp_mdev5811; set tmp_memory_table_size=default;
--echo # End of 5.3 tests --echo # End of 5.3 tests

View File

@ -245,7 +245,7 @@ HELLO
HELLO MY HELLO MY
a a
hello hello
set big_tables=1; set tmp_memory_table_size=0;
select distinct t from t1; select distinct t from t1;
t t
NULL NULL
@ -326,7 +326,7 @@ HELLO
HELLO MY HELLO MY
a a
hello hello
set big_tables=0; set tmp_memory_table_size=default;
select distinct * from t1; select distinct * from t1;
t c b d t c b d
NULL NULL NULL NULL NULL NULL NULL NULL

View File

@ -112,7 +112,7 @@ select distinct t from t1 order by t;
select distinct b from t1 order by b; select distinct b from t1 order by b;
select t from t1 group by t; select t from t1 group by t;
select b from t1 group by b; select b from t1 group by b;
set big_tables=1; set tmp_memory_table_size=0; # force on-disk tmp table
select distinct t from t1; select distinct t from t1;
select distinct b from t1; select distinct b from t1;
select distinct t from t1 order by t; select distinct t from t1 order by t;
@ -123,7 +123,7 @@ select distinct c from t1 order by c;
select distinct d from t1 order by d; select distinct d from t1 order by d;
select c from t1 group by c; select c from t1 group by c;
select d from t1 group by d; select d from t1 group by d;
set big_tables=0; set tmp_memory_table_size=default;
select distinct * from t1; select distinct * from t1;
select t,count(*) from t1 group by t; select t,count(*) from t1 group by t;
select b,count(*) from t1 group by b; select b,count(*) from t1 group by b;

View File

@ -162,7 +162,6 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
Warnings: Warnings:
Note 1003 select @@IDENTITY AS `@@IDENTITY`,last_insert_id() AS `last_insert_id()`,@@identity AS `@@identity` Note 1003 select @@IDENTITY AS `@@IDENTITY`,last_insert_id() AS `last_insert_id()`,@@identity AS `@@identity`
set big_tables=OFF, big_tables=ON, big_tables=0, big_tables=1, big_tables="OFF", big_tables="ON";
set global concurrent_insert=2; set global concurrent_insert=2;
show variables like 'concurrent_insert'; show variables like 'concurrent_insert';
Variable_name Value Variable_name Value
@ -422,18 +421,14 @@ SELECT @@version LIKE 'non-existent';
SELECT @@version_compile_os LIKE 'non-existent'; SELECT @@version_compile_os LIKE 'non-existent';
@@version_compile_os LIKE 'non-existent' @@version_compile_os LIKE 'non-existent'
0 0
set big_tables=OFFF;
ERROR 42000: Variable 'big_tables' can't be set to the value of 'OFFF'
set big_tables="OFFF";
ERROR 42000: Variable 'big_tables' can't be set to the value of 'OFFF'
set unknown_variable=1; set unknown_variable=1;
ERROR HY000: Unknown system variable 'unknown_variable' ERROR HY000: Unknown system variable 'unknown_variable'
set max_join_size="hello"; set max_join_size="hello";
ERROR 42000: Incorrect argument type to variable 'max_join_size' ERROR 42000: Incorrect argument type to variable 'max_join_size'
set default_storage_engine=UNKNOWN_TABLE_TYPE; set default_storage_engine=UNKNOWN_TABLE_TYPE;
ERROR 42000: Unknown storage engine 'UNKNOWN_TABLE_TYPE' ERROR 42000: Unknown storage engine 'UNKNOWN_TABLE_TYPE'
set default_storage_engine=MERGE, big_tables=2; set default_storage_engine=MERGE, sql_warnings=NULL;
ERROR 42000: Variable 'big_tables' can't be set to the value of '2' ERROR 42000: Variable 'sql_warnings' can't be set to the value of 'NULL'
show local variables like 'default_storage_engine'; show local variables like 'default_storage_engine';
Variable_name Value Variable_name Value
default_storage_engine MEMORY default_storage_engine MEMORY
@ -456,10 +451,9 @@ ERROR HY000: Variable 'myisam_max_sort_file_size' is a GLOBAL variable and shoul
set @@SQL_WARNINGS=NULL; set @@SQL_WARNINGS=NULL;
ERROR 42000: Variable 'sql_warnings' can't be set to the value of 'NULL' ERROR 42000: Variable 'sql_warnings' can't be set to the value of 'NULL'
set autocommit=1; set autocommit=1;
set big_tables=1; select @@autocommit;
select @@autocommit, @@big_tables; @@autocommit
@@autocommit @@big_tables 1
1 1
set global binlog_cache_size=100; set global binlog_cache_size=100;
Warnings: Warnings:
Warning 1292 Truncated incorrect binlog_cache_size value: '100' Warning 1292 Truncated incorrect binlog_cache_size value: '100'

View File

@ -113,8 +113,6 @@ explain extended select last_insert_id(345);
select @@IDENTITY,last_insert_id(), @@identity; select @@IDENTITY,last_insert_id(), @@identity;
explain extended select @@IDENTITY,last_insert_id(), @@identity; explain extended select @@IDENTITY,last_insert_id(), @@identity;
set big_tables=OFF, big_tables=ON, big_tables=0, big_tables=1, big_tables="OFF", big_tables="ON";
set global concurrent_insert=2; set global concurrent_insert=2;
show variables like 'concurrent_insert'; show variables like 'concurrent_insert';
select * from information_schema.session_variables where variable_name like 'concurrent_insert'; select * from information_schema.session_variables where variable_name like 'concurrent_insert';
@ -241,10 +239,6 @@ SELECT @@version_compile_os LIKE 'non-existent';
# The following should give errors # The following should give errors
--error ER_WRONG_VALUE_FOR_VAR
set big_tables=OFFF;
--error ER_WRONG_VALUE_FOR_VAR
set big_tables="OFFF";
--error ER_UNKNOWN_SYSTEM_VARIABLE --error ER_UNKNOWN_SYSTEM_VARIABLE
set unknown_variable=1; set unknown_variable=1;
--error ER_WRONG_TYPE_FOR_VAR --error ER_WRONG_TYPE_FOR_VAR
@ -252,7 +246,7 @@ set max_join_size="hello";
--error ER_UNKNOWN_STORAGE_ENGINE --error ER_UNKNOWN_STORAGE_ENGINE
set default_storage_engine=UNKNOWN_TABLE_TYPE; set default_storage_engine=UNKNOWN_TABLE_TYPE;
--error ER_WRONG_VALUE_FOR_VAR --error ER_WRONG_VALUE_FOR_VAR
set default_storage_engine=MERGE, big_tables=2; set default_storage_engine=MERGE, sql_warnings=NULL;
show local variables like 'default_storage_engine'; show local variables like 'default_storage_engine';
--error ER_UNKNOWN_CHARACTER_SET --error ER_UNKNOWN_CHARACTER_SET
set character_set_client=UNKNOWN_CHARACTER_SET; set character_set_client=UNKNOWN_CHARACTER_SET;
@ -276,8 +270,7 @@ set @@SQL_WARNINGS=NULL;
# Test setting all variables # Test setting all variables
set autocommit=1; set autocommit=1;
set big_tables=1; select @@autocommit;
select @@autocommit, @@big_tables;
set global binlog_cache_size=100; set global binlog_cache_size=100;
set bulk_insert_buffer_size=100; set bulk_insert_buffer_size=100;
set character set cp1251_koi8; set character set cp1251_koi8;

View File

@ -5738,8 +5738,7 @@ drop view v60;
# #
# MDEV-15572: view.test, server crash with --big-tables=1 # MDEV-15572: view.test, server crash with --big-tables=1
# #
set @save_big_tables=@@big_tables; set tmp_memory_table_size=0;
set big_tables=ON;
CREATE TABLE t1 ( f1 int , f2 int , f3 int , f4 int); CREATE TABLE t1 ( f1 int , f2 int , f3 int , f4 int);
CREATE TABLE t2 ( f1 int , f2 int , f3 int , f4 int); CREATE TABLE t2 ( f1 int , f2 int , f3 int , f4 int);
CREATE VIEW v1 AS CREATE VIEW v1 AS
@ -5749,7 +5748,7 @@ SELECT f1, f2, f3, f4 FROM t1;
ERROR HY000: Can not modify more than one base table through a join view 'test.v1' ERROR HY000: Can not modify more than one base table through a join view 'test.v1'
drop view v1; drop view v1;
drop table t1, t2; drop table t1, t2;
set big_tables=@save_big_tables; set tmp_memory_table_size=default;
# ----------------------------------------------------------------- # -----------------------------------------------------------------
# -- End of 5.5 tests. # -- End of 5.5 tests.
# ----------------------------------------------------------------- # -----------------------------------------------------------------

View File

@ -5628,8 +5628,7 @@ drop view v60;
--echo # MDEV-15572: view.test, server crash with --big-tables=1 --echo # MDEV-15572: view.test, server crash with --big-tables=1
--echo # --echo #
set @save_big_tables=@@big_tables; set tmp_memory_table_size=0; # force on-disk tmp table
set big_tables=ON;
CREATE TABLE t1 ( f1 int , f2 int , f3 int , f4 int); CREATE TABLE t1 ( f1 int , f2 int , f3 int , f4 int);
CREATE TABLE t2 ( f1 int , f2 int , f3 int , f4 int); CREATE TABLE t2 ( f1 int , f2 int , f3 int , f4 int);
@ -5642,7 +5641,7 @@ REPLACE INTO v1 (f1, f2, f3, f4)
drop view v1; drop view v1;
drop table t1, t2; drop table t1, t2;
set big_tables=@save_big_tables; set tmp_memory_table_size=default;
--echo # ----------------------------------------------------------------- --echo # -----------------------------------------------------------------
--echo # -- End of 5.5 tests. --echo # -- End of 5.5 tests.

View File

@ -1742,8 +1742,7 @@ drop table t1;
# #
create table t1(a int); create table t1(a int);
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
set @tmp=@@big_tables; set tmp_memory_table_size=0;
set big_tables=1;
select rank() over (order by a) from t1; select rank() over (order by a) from t1;
rank() over (order by a) rank() over (order by a)
1 1
@ -1756,7 +1755,7 @@ rank() over (order by a)
8 8
9 9
10 10
set big_tables=@tmp; set tmp_memory_table_size=default;
drop table t1; drop table t1;
# #
# Check if "ORDER BY window_func" works # Check if "ORDER BY window_func" works

View File

@ -1067,10 +1067,9 @@ drop table t1;
--echo # --echo #
create table t1(a int); create table t1(a int);
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
set @tmp=@@big_tables; set tmp_memory_table_size=0; # force on-disk tmp table
set big_tables=1;
select rank() over (order by a) from t1; select rank() over (order by a) from t1;
set big_tables=@tmp; set tmp_memory_table_size=default;
drop table t1; drop table t1;
--echo # --echo #

View File

@ -4,16 +4,24 @@ SELECT @start_value;
0 0
'#--------------------FN_DYNVARS_005_01------------------------#' '#--------------------FN_DYNVARS_005_01------------------------#'
SET @@big_tables = 1; SET @@big_tables = 1;
Warnings:
Warning 1287 '@@big_tables' is deprecated and will be removed in a future release
SET @@big_tables = DEFAULT; SET @@big_tables = DEFAULT;
Warnings:
Warning 1287 '@@big_tables' is deprecated and will be removed in a future release
SELECT @@big_tables; SELECT @@big_tables;
@@big_tables @@big_tables
0 0
'#--------------------FN_DYNVARS_005_02------------------------#' '#--------------------FN_DYNVARS_005_02------------------------#'
SET @@big_tables = 0; SET @@big_tables = 0;
Warnings:
Warning 1287 '@@big_tables' is deprecated and will be removed in a future release
SELECT @@big_tables; SELECT @@big_tables;
@@big_tables @@big_tables
0 0
SET @@big_tables = 1; SET @@big_tables = 1;
Warnings:
Warning 1287 '@@big_tables' is deprecated and will be removed in a future release
SELECT @@big_tables; SELECT @@big_tables;
@@big_tables @@big_tables
1 1
@ -44,10 +52,14 @@ SET @@big_tables = '';
ERROR 42000: Variable 'big_tables' can't be set to the value of '' ERROR 42000: Variable 'big_tables' can't be set to the value of ''
'#-------------------FN_DYNVARS_005_04----------------------------#' '#-------------------FN_DYNVARS_005_04----------------------------#'
SET @@global.big_tables = 1-@@global.big_tables; SET @@global.big_tables = 1-@@global.big_tables;
Warnings:
Warning 1287 '@@big_tables' is deprecated and will be removed in a future release
SELECT @@global.big_tables; SELECT @@global.big_tables;
@@global.big_tables @@global.big_tables
1 1
SET @@global.big_tables = 1-@@global.big_tables; SET @@global.big_tables = 1-@@global.big_tables;
Warnings:
Warning 1287 '@@big_tables' is deprecated and will be removed in a future release
'#----------------------FN_DYNVARS_005_05------------------------#' '#----------------------FN_DYNVARS_005_05------------------------#'
SELECT IF(@@big_tables, "ON", "OFF") = VARIABLE_VALUE SELECT IF(@@big_tables, "ON", "OFF") = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES FROM INFORMATION_SCHEMA.SESSION_VARIABLES
@ -56,33 +68,47 @@ IF(@@big_tables, "ON", "OFF") = VARIABLE_VALUE
1 1
'#---------------------FN_DYNVARS_005_06----------------------#' '#---------------------FN_DYNVARS_005_06----------------------#'
SET @@big_tables = OFF; SET @@big_tables = OFF;
Warnings:
Warning 1287 '@@big_tables' is deprecated and will be removed in a future release
SELECT @@big_tables; SELECT @@big_tables;
@@big_tables @@big_tables
0 0
SET @@big_tables = ON; SET @@big_tables = ON;
Warnings:
Warning 1287 '@@big_tables' is deprecated and will be removed in a future release
SELECT @@big_tables; SELECT @@big_tables;
@@big_tables @@big_tables
1 1
'#---------------------FN_DYNVARS_005_07----------------------#' '#---------------------FN_DYNVARS_005_07----------------------#'
SET @@big_tables = TRUE; SET @@big_tables = TRUE;
Warnings:
Warning 1287 '@@big_tables' is deprecated and will be removed in a future release
SELECT @@big_tables; SELECT @@big_tables;
@@big_tables @@big_tables
1 1
SET @@big_tables = FALSE; SET @@big_tables = FALSE;
Warnings:
Warning 1287 '@@big_tables' is deprecated and will be removed in a future release
SELECT @@big_tables; SELECT @@big_tables;
@@big_tables @@big_tables
0 0
'#---------------------FN_DYNVARS_005_08----------------------#' '#---------------------FN_DYNVARS_005_08----------------------#'
SET @@big_tables = 0; SET @@big_tables = 0;
Warnings:
Warning 1287 '@@big_tables' is deprecated and will be removed in a future release
SELECT @@big_tables = @@session.big_tables; SELECT @@big_tables = @@session.big_tables;
@@big_tables = @@session.big_tables @@big_tables = @@session.big_tables
1 1
SET @@big_tables = 1; SET @@big_tables = 1;
Warnings:
Warning 1287 '@@big_tables' is deprecated and will be removed in a future release
SELECT @@big_tables = @@local.big_tables and @@local.big_tables = @@session.big_tables; SELECT @@big_tables = @@local.big_tables and @@local.big_tables = @@session.big_tables;
@@big_tables = @@local.big_tables and @@local.big_tables = @@session.big_tables @@big_tables = @@local.big_tables and @@local.big_tables = @@session.big_tables
1 1
'#---------------------FN_DYNVARS_005_09----------------------#' '#---------------------FN_DYNVARS_005_09----------------------#'
SET big_tables = 1; SET big_tables = 1;
Warnings:
Warning 1287 '@@big_tables' is deprecated and will be removed in a future release
SELECT @@big_tables; SELECT @@big_tables;
@@big_tables @@big_tables
1 1
@ -93,6 +119,8 @@ ERROR 42S02: Unknown table 'session' in field list
select big_tables; select big_tables;
ERROR 42S22: Unknown column 'big_tables' in 'field list' ERROR 42S22: Unknown column 'big_tables' in 'field list'
SET @@big_tables = @start_value; SET @@big_tables = @start_value;
Warnings:
Warning 1287 '@@big_tables' is deprecated and will be removed in a future release
SELECT @@big_tables; SELECT @@big_tables;
@@big_tables @@big_tables
0 0

View File

@ -3537,7 +3537,7 @@ VARIABLE_NAME TMP_MEMORY_TABLE_SIZE
VARIABLE_SCOPE SESSION VARIABLE_SCOPE SESSION
VARIABLE_TYPE BIGINT UNSIGNED VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT If an internal in-memory temporary table exceeds this size, MariaDB will automatically convert it to an on-disk MyISAM or Aria table. Same as tmp_table_size. VARIABLE_COMMENT If an internal in-memory temporary table exceeds this size, MariaDB will automatically convert it to an on-disk MyISAM or Aria table. Same as tmp_table_size.
NUMERIC_MIN_VALUE 1024 NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 18446744073709551615 NUMERIC_MAX_VALUE 18446744073709551615
NUMERIC_BLOCK_SIZE 1 NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL ENUM_VALUE_LIST NULL
@ -3547,7 +3547,7 @@ VARIABLE_NAME TMP_TABLE_SIZE
VARIABLE_SCOPE SESSION VARIABLE_SCOPE SESSION
VARIABLE_TYPE BIGINT UNSIGNED VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Alias for tmp_memory_table_size. If an internal in-memory temporary table exceeds this size, MariaDB will automatically convert it to an on-disk MyISAM or Aria table. VARIABLE_COMMENT Alias for tmp_memory_table_size. If an internal in-memory temporary table exceeds this size, MariaDB will automatically convert it to an on-disk MyISAM or Aria table.
NUMERIC_MIN_VALUE 1024 NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 18446744073709551615 NUMERIC_MAX_VALUE 18446744073709551615
NUMERIC_BLOCK_SIZE 1 NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL ENUM_VALUE_LIST NULL

View File

@ -4327,7 +4327,7 @@ VARIABLE_NAME TMP_MEMORY_TABLE_SIZE
VARIABLE_SCOPE SESSION VARIABLE_SCOPE SESSION
VARIABLE_TYPE BIGINT UNSIGNED VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT If an internal in-memory temporary table exceeds this size, MariaDB will automatically convert it to an on-disk MyISAM or Aria table. Same as tmp_table_size. VARIABLE_COMMENT If an internal in-memory temporary table exceeds this size, MariaDB will automatically convert it to an on-disk MyISAM or Aria table. Same as tmp_table_size.
NUMERIC_MIN_VALUE 1024 NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 18446744073709551615 NUMERIC_MAX_VALUE 18446744073709551615
NUMERIC_BLOCK_SIZE 1 NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL ENUM_VALUE_LIST NULL
@ -4337,7 +4337,7 @@ VARIABLE_NAME TMP_TABLE_SIZE
VARIABLE_SCOPE SESSION VARIABLE_SCOPE SESSION
VARIABLE_TYPE BIGINT UNSIGNED VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT Alias for tmp_memory_table_size. If an internal in-memory temporary table exceeds this size, MariaDB will automatically convert it to an on-disk MyISAM or Aria table. VARIABLE_COMMENT Alias for tmp_memory_table_size. If an internal in-memory temporary table exceeds this size, MariaDB will automatically convert it to an on-disk MyISAM or Aria table.
NUMERIC_MIN_VALUE 1024 NUMERIC_MIN_VALUE 0
NUMERIC_MAX_VALUE 18446744073709551615 NUMERIC_MAX_VALUE 18446744073709551615
NUMERIC_BLOCK_SIZE 1 NUMERIC_BLOCK_SIZE 1
ENUM_VALUE_LIST NULL ENUM_VALUE_LIST NULL

View File

@ -4,8 +4,6 @@
SET @start_tmp_memory_table_size=@@session.tmp_memory_table_size; SET @start_tmp_memory_table_size=@@session.tmp_memory_table_size;
SET @start_tmp_disk_table_size=@@session.tmp_disk_table_size; SET @start_tmp_disk_table_size=@@session.tmp_disk_table_size;
set @@session.tmp_memory_table_size=1000; set @@session.tmp_memory_table_size=1000;
Warnings:
Warning 1292 Truncated incorrect tmp_memory_table_size value: '1000'
set @@session.tmp_disk_table_size=3000000; set @@session.tmp_disk_table_size=3000000;
create table t1 (a int primary key, b varchar(2000)); create table t1 (a int primary key, b varchar(2000));
insert into t1 select seq,repeat(char(mod(seq,62)+64),seq) from seq_1_to_2000; insert into t1 select seq,repeat(char(mod(seq,62)+64),seq) from seq_1_to_2000;

View File

@ -1,165 +0,0 @@
SET @start_global_value = @@global.tmp_memory_table_size;
SET @start_session_value = @@session.tmp_memory_table_size;
'#--------------------FN_DYNVARS_005_01-------------------------#'
SET @@global.tmp_memory_table_size = 10000;
SELECT @@global.tmp_memory_table_size;
@@global.tmp_memory_table_size
10000
SET @@global.tmp_memory_table_size = DEFAULT;
SELECT @@global.tmp_memory_table_size;
@@global.tmp_memory_table_size
16777216
SET @@session.tmp_memory_table_size = 20000;
SELECT @@session.tmp_memory_table_size;
@@session.tmp_memory_table_size
20000
SET @@session.tmp_memory_table_size = DEFAULT;
SELECT @@session.tmp_memory_table_size;
@@session.tmp_memory_table_size
16777216
'#--------------------FN_DYNVARS_005_02-------------------------#'
SELECT @@global.tmp_memory_table_size >= 16777216;
@@global.tmp_memory_table_size >= 16777216
1
SELECT @@session.tmp_memory_table_size >= 16777216;
@@session.tmp_memory_table_size >= 16777216
1
'#--------------------FN_DYNVARS_005_03-------------------------#'
SET @@global.tmp_memory_table_size = 1024;
SELECT @@global.tmp_memory_table_size;
@@global.tmp_memory_table_size
1024
SET @@global.tmp_memory_table_size = 60020;
SELECT @@global.tmp_memory_table_size;
@@global.tmp_memory_table_size
60020
SET @@global.tmp_memory_table_size = 4294967295;
SELECT @@global.tmp_memory_table_size;
@@global.tmp_memory_table_size
4294967295
'#--------------------FN_DYNVARS_005_04-------------------------#'
SET @@session.tmp_memory_table_size = 1024;
SELECT @@session.tmp_memory_table_size;
@@session.tmp_memory_table_size
1024
SET @@session.tmp_memory_table_size = 4294967295;
SELECT @@session.tmp_memory_table_size;
@@session.tmp_memory_table_size
4294967295
SET @@session.tmp_memory_table_size = 65535;
SELECT @@session.tmp_memory_table_size;
@@session.tmp_memory_table_size
65535
'#------------------FN_DYNVARS_005_05-----------------------#'
SET @@global.tmp_memory_table_size = 0;
Warnings:
Warning 1292 Truncated incorrect tmp_memory_table_size value: '0'
SELECT @@global.tmp_memory_table_size;
@@global.tmp_memory_table_size
1024
SET @@global.tmp_memory_table_size = -1024;
Warnings:
Warning 1292 Truncated incorrect tmp_memory_table_size value: '-1024'
SELECT @@global.tmp_memory_table_size;
@@global.tmp_memory_table_size
1024
SET @@global.tmp_memory_table_size = 1000;
Warnings:
Warning 1292 Truncated incorrect tmp_memory_table_size value: '1000'
SELECT @@global.tmp_memory_table_size;
@@global.tmp_memory_table_size
1024
SET @@global.tmp_memory_table_size = ON;
ERROR 42000: Incorrect argument type to variable 'tmp_memory_table_size'
SET @@global.tmp_memory_table_size = OFF;
ERROR 42000: Incorrect argument type to variable 'tmp_memory_table_size'
SET @@global.tmp_memory_table_size = True;
Warnings:
Warning 1292 Truncated incorrect tmp_memory_table_size value: '1'
SELECT @@global.tmp_memory_table_size;
@@global.tmp_memory_table_size
1024
SET @@global.tmp_memory_table_size = False;
Warnings:
Warning 1292 Truncated incorrect tmp_memory_table_size value: '0'
SELECT @@global.tmp_memory_table_size;
@@global.tmp_memory_table_size
1024
SET @@global.tmp_memory_table_size = 65530.34;
ERROR 42000: Incorrect argument type to variable 'tmp_memory_table_size'
SET @@global.tmp_memory_table_size ="Test";
ERROR 42000: Incorrect argument type to variable 'tmp_memory_table_size'
SET @@session.tmp_memory_table_size = ON;
ERROR 42000: Incorrect argument type to variable 'tmp_memory_table_size'
SET @@session.tmp_memory_table_size = OFF;
ERROR 42000: Incorrect argument type to variable 'tmp_memory_table_size'
SET @@session.tmp_memory_table_size = True;
Warnings:
Warning 1292 Truncated incorrect tmp_memory_table_size value: '1'
SELECT @@session.tmp_memory_table_size;
@@session.tmp_memory_table_size
1024
SET @@session.tmp_memory_table_size = False;
Warnings:
Warning 1292 Truncated incorrect tmp_memory_table_size value: '0'
SELECT @@session.tmp_memory_table_size;
@@session.tmp_memory_table_size
1024
SET @@session.tmp_memory_table_size = "Test";
ERROR 42000: Incorrect argument type to variable 'tmp_memory_table_size'
SET @@session.tmp_memory_table_size = 12345678901;
SELECT @@session.tmp_memory_table_size IN (12345678901,4294967295);
@@session.tmp_memory_table_size IN (12345678901,4294967295)
1
'#------------------FN_DYNVARS_005_06-----------------------#'
SELECT @@global.tmp_memory_table_size = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='tmp_memory_table_size';
@@global.tmp_memory_table_size = VARIABLE_VALUE
1
'#------------------FN_DYNVARS_005_07-----------------------#'
SELECT @@session.tmp_memory_table_size = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='tmp_memory_table_size';
@@session.tmp_memory_table_size = VARIABLE_VALUE
1
'#---------------------FN_DYNVARS_001_09----------------------#'
SET @@global.tmp_memory_table_size = 1024;
SET @@tmp_memory_table_size = 4294967295;
SELECT @@tmp_memory_table_size = @@global.tmp_memory_table_size;
@@tmp_memory_table_size = @@global.tmp_memory_table_size
0
'#---------------------FN_DYNVARS_001_10----------------------#'
SET @@tmp_memory_table_size = 100;
Warnings:
Warning 1292 Truncated incorrect tmp_memory_table_size value: '100'
SELECT @@tmp_memory_table_size = @@local.tmp_memory_table_size;
@@tmp_memory_table_size = @@local.tmp_memory_table_size
1
SELECT @@local.tmp_memory_table_size = @@session.tmp_memory_table_size;
@@local.tmp_memory_table_size = @@session.tmp_memory_table_size
1
'#---------------------FN_DYNVARS_001_11----------------------#'
SET tmp_memory_table_size = 1027;
SELECT @@tmp_memory_table_size;
@@tmp_memory_table_size
1027
SELECT local.tmp_memory_table_size;
ERROR 42S02: Unknown table 'local' in field list
SELECT global.tmp_memory_table_size;
ERROR 42S02: Unknown table 'global' in field list
SELECT tmp_memory_table_size = @@session.tmp_memory_table_size;
ERROR 42S22: Unknown column 'tmp_memory_table_size' in 'field list'
"Check that tmp_memory_table_size and tmp_table_size are the same"
set @@session.tmp_memory_table_size=100000;
select @@session.tmp_memory_table_size,@@session.tmp_table_size;
@@session.tmp_memory_table_size @@session.tmp_table_size
100000 100000
set @@session.tmp_memory_table_size=200000;
select @@session.tmp_memory_table_size,@@session.tmp_table_size;
@@session.tmp_memory_table_size @@session.tmp_table_size
200000 200000
SET @@global.tmp_memory_table_size = @start_global_value;
SET @@session.tmp_memory_table_size = @start_session_value;

View File

@ -1,146 +0,0 @@
SET @start_global_value = @@global.tmp_table_size;
SET @start_session_value = @@session.tmp_table_size;
'#--------------------FN_DYNVARS_005_01-------------------------#'
SET @@global.tmp_table_size = 100;
Warnings:
Warning 1292 Truncated incorrect tmp_table_size value: '100'
SET @@global.tmp_table_size = DEFAULT;
SET @@session.tmp_table_size = 200;
Warnings:
Warning 1292 Truncated incorrect tmp_table_size value: '200'
SET @@session.tmp_table_size = DEFAULT;
'#--------------------FN_DYNVARS_005_02-------------------------#'
SELECT @@global.tmp_table_size >= 16777216;
@@global.tmp_table_size >= 16777216
1
SELECT @@session.tmp_table_size >= 16777216;
@@session.tmp_table_size >= 16777216
1
'#--------------------FN_DYNVARS_005_03-------------------------#'
SET @@global.tmp_table_size = 1024;
SELECT @@global.tmp_table_size;
@@global.tmp_table_size
1024
SET @@global.tmp_table_size = 60020;
SELECT @@global.tmp_table_size;
@@global.tmp_table_size
60020
SET @@global.tmp_table_size = 4294967295;
SELECT @@global.tmp_table_size;
@@global.tmp_table_size
4294967295
'#--------------------FN_DYNVARS_005_04-------------------------#'
SET @@session.tmp_table_size = 1024;
SELECT @@session.tmp_table_size;
@@session.tmp_table_size
1024
SET @@session.tmp_table_size = 4294967295;
SELECT @@session.tmp_table_size;
@@session.tmp_table_size
4294967295
SET @@session.tmp_table_size = 65535;
SELECT @@session.tmp_table_size;
@@session.tmp_table_size
65535
'#------------------FN_DYNVARS_005_05-----------------------#'
SET @@global.tmp_table_size = 0;
Warnings:
Warning 1292 Truncated incorrect tmp_table_size value: '0'
SELECT @@global.tmp_table_size;
@@global.tmp_table_size
1024
SET @@global.tmp_table_size = -1024;
Warnings:
Warning 1292 Truncated incorrect tmp_table_size value: '-1024'
SELECT @@global.tmp_table_size;
@@global.tmp_table_size
1024
SET @@global.tmp_table_size = 1000;
Warnings:
Warning 1292 Truncated incorrect tmp_table_size value: '1000'
SELECT @@global.tmp_table_size;
@@global.tmp_table_size
1024
SET @@global.tmp_table_size = ON;
ERROR 42000: Incorrect argument type to variable 'tmp_table_size'
SET @@global.tmp_table_size = OFF;
ERROR 42000: Incorrect argument type to variable 'tmp_table_size'
SET @@global.tmp_table_size = True;
Warnings:
Warning 1292 Truncated incorrect tmp_table_size value: '1'
SELECT @@global.tmp_table_size;
@@global.tmp_table_size
1024
SET @@global.tmp_table_size = False;
Warnings:
Warning 1292 Truncated incorrect tmp_table_size value: '0'
SELECT @@global.tmp_table_size;
@@global.tmp_table_size
1024
SET @@global.tmp_table_size = 65530.34;
ERROR 42000: Incorrect argument type to variable 'tmp_table_size'
SET @@global.tmp_table_size ="Test";
ERROR 42000: Incorrect argument type to variable 'tmp_table_size'
SET @@session.tmp_table_size = ON;
ERROR 42000: Incorrect argument type to variable 'tmp_table_size'
SET @@session.tmp_table_size = OFF;
ERROR 42000: Incorrect argument type to variable 'tmp_table_size'
SET @@session.tmp_table_size = True;
Warnings:
Warning 1292 Truncated incorrect tmp_table_size value: '1'
SELECT @@session.tmp_table_size;
@@session.tmp_table_size
1024
SET @@session.tmp_table_size = False;
Warnings:
Warning 1292 Truncated incorrect tmp_table_size value: '0'
SELECT @@session.tmp_table_size;
@@session.tmp_table_size
1024
SET @@session.tmp_table_size = "Test";
ERROR 42000: Incorrect argument type to variable 'tmp_table_size'
SET @@session.tmp_table_size = 12345678901;
SELECT @@session.tmp_table_size IN (12345678901,4294967295);
@@session.tmp_table_size IN (12345678901,4294967295)
1
'#------------------FN_DYNVARS_005_06-----------------------#'
SELECT @@global.tmp_table_size = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='tmp_table_size';
@@global.tmp_table_size = VARIABLE_VALUE
1
'#------------------FN_DYNVARS_005_07-----------------------#'
SELECT @@session.tmp_table_size = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='tmp_table_size';
@@session.tmp_table_size = VARIABLE_VALUE
1
'#---------------------FN_DYNVARS_001_09----------------------#'
SET @@global.tmp_table_size = 1024;
SET @@tmp_table_size = 4294967295;
SELECT @@tmp_table_size = @@global.tmp_table_size;
@@tmp_table_size = @@global.tmp_table_size
0
'#---------------------FN_DYNVARS_001_10----------------------#'
SET @@tmp_table_size = 100;
Warnings:
Warning 1292 Truncated incorrect tmp_table_size value: '100'
SELECT @@tmp_table_size = @@local.tmp_table_size;
@@tmp_table_size = @@local.tmp_table_size
1
SELECT @@local.tmp_table_size = @@session.tmp_table_size;
@@local.tmp_table_size = @@session.tmp_table_size
1
'#---------------------FN_DYNVARS_001_11----------------------#'
SET tmp_table_size = 1027;
SELECT @@tmp_table_size;
@@tmp_table_size
1027
SELECT local.tmp_table_size;
ERROR 42S02: Unknown table 'local' in field list
SELECT global.tmp_table_size;
ERROR 42S02: Unknown table 'global' in field list
SELECT tmp_table_size = @@session.tmp_table_size;
ERROR 42S22: Unknown column 'tmp_table_size' in 'field list'
SET @@global.tmp_table_size = @start_global_value;
SET @@session.tmp_table_size = @start_session_value;

View File

@ -1,209 +0,0 @@
###################### tmp_memory_table_size_basic.test ######################
# #
# Variable Name: tmp_memory_table_size #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: numeric #
# #
# Description: Test Cases of Dynamic System Variable tmp_table_size #
# that checks the behavior of this variable in the following ways#
# * Default Value #
# * Valid & Invalid values #
# * Scope & Access method #
# * Data Integrity #
# #
###############################################################################
--source include/load_sysvars.inc
##############################################################
# START OF tmp_memory_table_size TESTS #
##############################################################
#############################################################
# Save initial value #
#############################################################
SET @start_global_value = @@global.tmp_memory_table_size;
SET @start_session_value = @@session.tmp_memory_table_size;
--echo '#--------------------FN_DYNVARS_005_01-------------------------#'
##############################################################
# Display the DEFAULT value of tmp_memory_table_size #
##############################################################
SET @@global.tmp_memory_table_size = 10000;
SELECT @@global.tmp_memory_table_size;
SET @@global.tmp_memory_table_size = DEFAULT;
SELECT @@global.tmp_memory_table_size;
SET @@session.tmp_memory_table_size = 20000;
SELECT @@session.tmp_memory_table_size;
SET @@session.tmp_memory_table_size = DEFAULT;
SELECT @@session.tmp_memory_table_size;
--echo '#--------------------FN_DYNVARS_005_02-------------------------#'
########################################################################
# Check the DEFAULT value of tmp_memory_table_size #
########################################################################
# The DEFAULT value is system dependend.
# Therefore we have only a plausibility check here
SELECT @@global.tmp_memory_table_size >= 16777216;
SELECT @@session.tmp_memory_table_size >= 16777216;
--echo '#--------------------FN_DYNVARS_005_03-------------------------#'
########################################################################
# Change the value of tmp_memory_table_size to a valid value for GLOBAL Scope #
########################################################################
SET @@global.tmp_memory_table_size = 1024;
SELECT @@global.tmp_memory_table_size;
SET @@global.tmp_memory_table_size = 60020;
SELECT @@global.tmp_memory_table_size;
SET @@global.tmp_memory_table_size = 4294967295;
SELECT @@global.tmp_memory_table_size;
--echo '#--------------------FN_DYNVARS_005_04-------------------------#'
#########################################################################
# Change the value of tmp_memory_table_size to a valid value for SESSION Scope #
#########################################################################
SET @@session.tmp_memory_table_size = 1024;
SELECT @@session.tmp_memory_table_size;
SET @@session.tmp_memory_table_size = 4294967295;
SELECT @@session.tmp_memory_table_size;
SET @@session.tmp_memory_table_size = 65535;
SELECT @@session.tmp_memory_table_size;
--echo '#------------------FN_DYNVARS_005_05-----------------------#'
##########################################################
# Change the value of tmp_memory_table_size to an invalid value #
##########################################################
SET @@global.tmp_memory_table_size = 0;
SELECT @@global.tmp_memory_table_size;
SET @@global.tmp_memory_table_size = -1024;
SELECT @@global.tmp_memory_table_size;
SET @@global.tmp_memory_table_size = 1000;
SELECT @@global.tmp_memory_table_size;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.tmp_memory_table_size = ON;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.tmp_memory_table_size = OFF;
SET @@global.tmp_memory_table_size = True;
SELECT @@global.tmp_memory_table_size;
SET @@global.tmp_memory_table_size = False;
SELECT @@global.tmp_memory_table_size;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.tmp_memory_table_size = 65530.34;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.tmp_memory_table_size ="Test";
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.tmp_memory_table_size = ON;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.tmp_memory_table_size = OFF;
SET @@session.tmp_memory_table_size = True;
SELECT @@session.tmp_memory_table_size;
SET @@session.tmp_memory_table_size = False;
SELECT @@session.tmp_memory_table_size;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.tmp_memory_table_size = "Test";
--disable_warnings
SET @@session.tmp_memory_table_size = 12345678901;
--enable_warnings
# With a 64 bit mysqld:12345678901,with a 32 bit mysqld: 4294967295
SELECT @@session.tmp_memory_table_size IN (12345678901,4294967295);
--echo '#------------------FN_DYNVARS_005_06-----------------------#'
####################################################################
# Check if the value in GLOBAL Table matches value in variable #
####################################################################
SELECT @@global.tmp_memory_table_size = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='tmp_memory_table_size';
--echo '#------------------FN_DYNVARS_005_07-----------------------#'
####################################################################
# Check if the value in SESSION Table matches value in variable #
####################################################################
SELECT @@session.tmp_memory_table_size = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='tmp_memory_table_size';
--echo '#---------------------FN_DYNVARS_001_09----------------------#'
########################################################################
# Check if global and session variables are independent of each other #
########################################################################
SET @@global.tmp_memory_table_size = 1024;
SET @@tmp_memory_table_size = 4294967295;
SELECT @@tmp_memory_table_size = @@global.tmp_memory_table_size;
--echo '#---------------------FN_DYNVARS_001_10----------------------#'
##################################################################
# Check if accessing variable with SESSION,LOCAL and without #
# SCOPE points to same session variable #
##################################################################
SET @@tmp_memory_table_size = 100;
SELECT @@tmp_memory_table_size = @@local.tmp_memory_table_size;
SELECT @@local.tmp_memory_table_size = @@session.tmp_memory_table_size;
--echo '#---------------------FN_DYNVARS_001_11----------------------#'
#########################################################################
# Check if tmp_memory_table_size can be accessed with and without @@ sign #
#########################################################################
SET tmp_memory_table_size = 1027;
SELECT @@tmp_memory_table_size;
--Error ER_UNKNOWN_TABLE
SELECT local.tmp_memory_table_size;
--Error ER_UNKNOWN_TABLE
SELECT global.tmp_memory_table_size;
--Error ER_BAD_FIELD_ERROR
SELECT tmp_memory_table_size = @@session.tmp_memory_table_size;
--echo
--echo "Check that tmp_memory_table_size and tmp_table_size are the same"
--echo
set @@session.tmp_memory_table_size=100000;
select @@session.tmp_memory_table_size,@@session.tmp_table_size;
set @@session.tmp_memory_table_size=200000;
select @@session.tmp_memory_table_size,@@session.tmp_table_size;
####################################
# Restore initial value #
####################################
SET @@global.tmp_memory_table_size = @start_global_value;
SET @@session.tmp_memory_table_size = @start_session_value;
###################################################
# END OF tmp_memory_table_size TESTS #
###################################################

View File

@ -1,207 +0,0 @@
########################### tmp_table_size_basic.test ##########################
# #
# Variable Name: tmp_table_size #
# Scope: GLOBAL | SESSION #
# Access Type: Dynamic #
# Data Type: numeric #
# Default Value: system dependend #
# Range: 1024-system dependend #
# #
# #
# Creation Date: 2008-02-13 #
# Author: Salman #
# #
# Description: Test Cases of Dynamic System Variable tmp_table_size #
# that checks the behavior of this variable in the following ways #
# * Default Value #
# * Valid & Invalid values #
# * Scope & Access method #
# * Data Integrity #
# Modified: 2008-12-04 HHunger #
# removed the differences between 64 and 32 bit platforms #
# #
# Reference: #
# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html #
# #
################################################################################
--source include/load_sysvars.inc
##############################################################
# START OF tmp_table_size TESTS #
##############################################################
#############################################################
# Save initial value #
#############################################################
SET @start_global_value = @@global.tmp_table_size;
SET @start_session_value = @@session.tmp_table_size;
--echo '#--------------------FN_DYNVARS_005_01-------------------------#'
##############################################################
# Display the DEFAULT value of tmp_table_size #
##############################################################
SET @@global.tmp_table_size = 100;
SET @@global.tmp_table_size = DEFAULT;
SET @@session.tmp_table_size = 200;
SET @@session.tmp_table_size = DEFAULT;
--echo '#--------------------FN_DYNVARS_005_02-------------------------#'
########################################################################
# Check the DEFAULT value of tmp_table_size #
########################################################################
# The DEFAULT value is system dependend.
# Therefore we have only a plausibility check here
SELECT @@global.tmp_table_size >= 16777216;
SELECT @@session.tmp_table_size >= 16777216;
--echo '#--------------------FN_DYNVARS_005_03-------------------------#'
########################################################################
# Change the value of tmp_table_size to a valid value for GLOBAL Scope #
########################################################################
SET @@global.tmp_table_size = 1024;
SELECT @@global.tmp_table_size;
SET @@global.tmp_table_size = 60020;
SELECT @@global.tmp_table_size;
SET @@global.tmp_table_size = 4294967295;
SELECT @@global.tmp_table_size;
--echo '#--------------------FN_DYNVARS_005_04-------------------------#'
#########################################################################
# Change the value of tmp_table_size to a valid value for SESSION Scope #
#########################################################################
SET @@session.tmp_table_size = 1024;
SELECT @@session.tmp_table_size;
SET @@session.tmp_table_size = 4294967295;
SELECT @@session.tmp_table_size;
SET @@session.tmp_table_size = 65535;
SELECT @@session.tmp_table_size;
--echo '#------------------FN_DYNVARS_005_05-----------------------#'
##########################################################
# Change the value of tmp_table_size to an invalid value #
##########################################################
SET @@global.tmp_table_size = 0;
SELECT @@global.tmp_table_size;
SET @@global.tmp_table_size = -1024;
SELECT @@global.tmp_table_size;
SET @@global.tmp_table_size = 1000;
SELECT @@global.tmp_table_size;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.tmp_table_size = ON;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.tmp_table_size = OFF;
SET @@global.tmp_table_size = True;
SELECT @@global.tmp_table_size;
SET @@global.tmp_table_size = False;
SELECT @@global.tmp_table_size;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.tmp_table_size = 65530.34;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@global.tmp_table_size ="Test";
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.tmp_table_size = ON;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.tmp_table_size = OFF;
SET @@session.tmp_table_size = True;
SELECT @@session.tmp_table_size;
SET @@session.tmp_table_size = False;
SELECT @@session.tmp_table_size;
--Error ER_WRONG_TYPE_FOR_VAR
SET @@session.tmp_table_size = "Test";
--disable_warnings
SET @@session.tmp_table_size = 12345678901;
--enable_warnings
# With a 64 bit mysqld:12345678901,with a 32 bit mysqld: 4294967295
SELECT @@session.tmp_table_size IN (12345678901,4294967295);
--echo '#------------------FN_DYNVARS_005_06-----------------------#'
####################################################################
# Check if the value in GLOBAL Table matches value in variable #
####################################################################
SELECT @@global.tmp_table_size = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='tmp_table_size';
--echo '#------------------FN_DYNVARS_005_07-----------------------#'
####################################################################
# Check if the value in SESSION Table matches value in variable #
####################################################################
SELECT @@session.tmp_table_size = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.SESSION_VARIABLES
WHERE VARIABLE_NAME='tmp_table_size';
--echo '#---------------------FN_DYNVARS_001_09----------------------#'
########################################################################
# Check if global and session variables are independent of each other #
########################################################################
SET @@global.tmp_table_size = 1024;
SET @@tmp_table_size = 4294967295;
SELECT @@tmp_table_size = @@global.tmp_table_size;
--echo '#---------------------FN_DYNVARS_001_10----------------------#'
##################################################################
# Check if accessing variable with SESSION,LOCAL and without #
# SCOPE points to same session variable #
##################################################################
SET @@tmp_table_size = 100;
SELECT @@tmp_table_size = @@local.tmp_table_size;
SELECT @@local.tmp_table_size = @@session.tmp_table_size;
--echo '#---------------------FN_DYNVARS_001_11----------------------#'
#########################################################################
# Check if tmp_table_size can be accessed with and without @@ sign #
#########################################################################
SET tmp_table_size = 1027;
SELECT @@tmp_table_size;
--Error ER_UNKNOWN_TABLE
SELECT local.tmp_table_size;
--Error ER_UNKNOWN_TABLE
SELECT global.tmp_table_size;
--Error ER_BAD_FIELD_ERROR
SELECT tmp_table_size = @@session.tmp_table_size;
####################################
# Restore initial value #
####################################
SET @@global.tmp_table_size = @start_global_value;
SET @@session.tmp_table_size = @start_session_value;
###################################################
# END OF tmp_table_size TESTS #
###################################################

View File

@ -42,8 +42,9 @@
size_t Item_sum::ram_limitation(THD *thd) size_t Item_sum::ram_limitation(THD *thd)
{ {
return (size_t)MY_MIN(thd->variables.tmp_memory_table_size, return MY_MAX(1024,
thd->variables.max_heap_table_size); (size_t)MY_MIN(thd->variables.tmp_memory_table_size,
thd->variables.max_heap_table_size));
} }

View File

@ -4522,7 +4522,7 @@ SJ_TMP_TABLE::create_sj_weedout_tmp_table(THD *thd)
} }
uint reclength= field->pack_length(); uint reclength= field->pack_length();
if (using_unique_constraint) if (using_unique_constraint || thd->variables.tmp_memory_table_size == 0)
{ {
share->db_plugin= ha_lock_engine(0, TMP_ENGINE_HTON); share->db_plugin= ha_lock_engine(0, TMP_ENGINE_HTON);
table->file= get_new_handler(share, &table->mem_root, table->file= get_new_handler(share, &table->mem_root,

View File

@ -3869,7 +3869,7 @@ static Sys_var_ulonglong Sys_tmp_table_size(
"If an internal in-memory temporary table exceeds this size, MariaDB " "If an internal in-memory temporary table exceeds this size, MariaDB "
"will automatically convert it to an on-disk MyISAM or Aria table.", "will automatically convert it to an on-disk MyISAM or Aria table.",
SESSION_VAR(tmp_memory_table_size), CMD_LINE(REQUIRED_ARG), SESSION_VAR(tmp_memory_table_size), CMD_LINE(REQUIRED_ARG),
VALID_RANGE(1024, (ulonglong)~(intptr)0), DEFAULT(16*1024*1024), VALID_RANGE(0, (ulonglong)~(intptr)0), DEFAULT(16*1024*1024),
BLOCK_SIZE(1)); BLOCK_SIZE(1));
static Sys_var_ulonglong Sys_tmp_memory_table_size( static Sys_var_ulonglong Sys_tmp_memory_table_size(
@ -3878,7 +3878,7 @@ static Sys_var_ulonglong Sys_tmp_memory_table_size(
"will automatically convert it to an on-disk MyISAM or Aria table. " "will automatically convert it to an on-disk MyISAM or Aria table. "
"Same as tmp_table_size.", "Same as tmp_table_size.",
SESSION_VAR(tmp_memory_table_size), CMD_LINE(REQUIRED_ARG), SESSION_VAR(tmp_memory_table_size), CMD_LINE(REQUIRED_ARG),
VALID_RANGE(1024, (ulonglong)~(intptr)0), DEFAULT(16*1024*1024), VALID_RANGE(0, (ulonglong)~(intptr)0), DEFAULT(16*1024*1024),
BLOCK_SIZE(1)); BLOCK_SIZE(1));
static Sys_var_ulonglong Sys_tmp_disk_table_size( static Sys_var_ulonglong Sys_tmp_disk_table_size(
@ -4161,7 +4161,9 @@ static Sys_var_mybool Sys_big_tables(
"big_tables", "Old variable, which if set to 1, allows large result sets " "big_tables", "Old variable, which if set to 1, allows large result sets "
"by saving all temporary sets to disk, avoiding 'table full' errors. No " "by saving all temporary sets to disk, avoiding 'table full' errors. No "
"longer needed, as the server now handles this automatically.", "longer needed, as the server now handles this automatically.",
SESSION_VAR(big_tables), CMD_LINE(OPT_ARG), DEFAULT(FALSE)); SESSION_VAR(big_tables), CMD_LINE(OPT_ARG), DEFAULT(FALSE),
NO_MUTEX_GUARD, NOT_IN_BINLOG, ON_CHECK(0), ON_UPDATE(0),
DEPRECATED(""));
static Sys_var_bit Sys_big_selects( static Sys_var_bit Sys_big_selects(
"sql_big_selects", "If set to 0, MariaDB will not perform large SELECTs." "sql_big_selects", "If set to 0, MariaDB will not perform large SELECTs."