Fix for bug #9508 (query_cache test fails)
notembedded-specific part moved to the new test
This commit is contained in:
parent
a5f2c7528c
commit
c396a32f46
@ -152,82 +152,6 @@ show status like "Qcache_queries_in_cache";
|
|||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_queries_in_cache 0
|
Qcache_queries_in_cache 0
|
||||||
drop table t1, t2, t3;
|
drop table t1, t2, t3;
|
||||||
create table t1 (a int not null);
|
|
||||||
insert into t1 values (1),(2),(3);
|
|
||||||
create table t2 (a int not null);
|
|
||||||
insert into t2 values (1),(2),(3);
|
|
||||||
select * from t1;
|
|
||||||
a
|
|
||||||
1
|
|
||||||
2
|
|
||||||
3
|
|
||||||
select * from t2;
|
|
||||||
a
|
|
||||||
1
|
|
||||||
2
|
|
||||||
3
|
|
||||||
insert into t1 values (4);
|
|
||||||
show status like "Qcache_free_blocks";
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_free_blocks 2
|
|
||||||
flush query cache;
|
|
||||||
show status like "Qcache_free_blocks";
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_free_blocks 1
|
|
||||||
drop table t1, t2;
|
|
||||||
create table t1 (a text not null);
|
|
||||||
create table t11 (a text not null);
|
|
||||||
create table t2 (a text not null);
|
|
||||||
create table t21 (a text not null);
|
|
||||||
create table t3 (a text not null);
|
|
||||||
insert into t1 values("1111111111111111111111111111111111111111111111111111");
|
|
||||||
insert into t2 select * from t1;
|
|
||||||
insert into t1 select * from t2;
|
|
||||||
insert into t2 select * from t1;
|
|
||||||
insert into t1 select * from t2;
|
|
||||||
insert into t2 select * from t1;
|
|
||||||
insert into t1 select * from t2;
|
|
||||||
insert into t2 select * from t1;
|
|
||||||
insert into t1 select * from t2;
|
|
||||||
insert into t2 select * from t1;
|
|
||||||
insert into t1 select * from t2;
|
|
||||||
insert into t2 select * from t1;
|
|
||||||
insert into t1 select * from t2;
|
|
||||||
insert into t2 select * from t1;
|
|
||||||
insert into t1 select * from t2;
|
|
||||||
insert into t2 select * from t1;
|
|
||||||
insert into t11 select * from t1;
|
|
||||||
insert into t21 select * from t1;
|
|
||||||
insert into t1 select * from t2;
|
|
||||||
insert into t2 select * from t1;
|
|
||||||
insert into t1 select * from t2;
|
|
||||||
insert into t3 select * from t1;
|
|
||||||
insert into t3 select * from t2;
|
|
||||||
insert into t3 select * from t1;
|
|
||||||
select * from t11;
|
|
||||||
select * from t21;
|
|
||||||
show status like "Qcache_total_blocks";
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_total_blocks 7
|
|
||||||
show status like "Qcache_free_blocks";
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_free_blocks 1
|
|
||||||
insert into t11 values("");
|
|
||||||
select * from t3;
|
|
||||||
show status like "Qcache_total_blocks";
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_total_blocks 8
|
|
||||||
show status like "Qcache_free_blocks";
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_free_blocks 1
|
|
||||||
flush query cache;
|
|
||||||
show status like "Qcache_total_blocks";
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_total_blocks 7
|
|
||||||
show status like "Qcache_free_blocks";
|
|
||||||
Variable_name Value
|
|
||||||
Qcache_free_blocks 1
|
|
||||||
drop table t1, t2, t3, t11, t21;
|
|
||||||
set query_cache_type=demand;
|
set query_cache_type=demand;
|
||||||
create table t1 (a int not null);
|
create table t1 (a int not null);
|
||||||
insert into t1 values (1),(2),(3);
|
insert into t1 values (1),(2),(3);
|
||||||
|
83
mysql-test/r/query_cache_notembedded.result
Normal file
83
mysql-test/r/query_cache_notembedded.result
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
set GLOBAL query_cache_size=1355776;
|
||||||
|
flush query cache;
|
||||||
|
flush query cache;
|
||||||
|
reset query cache;
|
||||||
|
flush status;
|
||||||
|
drop table if exists t1, t2, t3, t11, t21;
|
||||||
|
create table t1 (a int not null);
|
||||||
|
insert into t1 values (1),(2),(3);
|
||||||
|
create table t2 (a int not null);
|
||||||
|
insert into t2 values (1),(2),(3);
|
||||||
|
select * from t1;
|
||||||
|
a
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
select * from t2;
|
||||||
|
a
|
||||||
|
1
|
||||||
|
2
|
||||||
|
3
|
||||||
|
insert into t1 values (4);
|
||||||
|
show status like "Qcache_free_blocks";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_free_blocks 2
|
||||||
|
flush query cache;
|
||||||
|
show status like "Qcache_free_blocks";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_free_blocks 1
|
||||||
|
drop table t1, t2;
|
||||||
|
create table t1 (a text not null);
|
||||||
|
create table t11 (a text not null);
|
||||||
|
create table t2 (a text not null);
|
||||||
|
create table t21 (a text not null);
|
||||||
|
create table t3 (a text not null);
|
||||||
|
insert into t1 values("1111111111111111111111111111111111111111111111111111");
|
||||||
|
insert into t2 select * from t1;
|
||||||
|
insert into t1 select * from t2;
|
||||||
|
insert into t2 select * from t1;
|
||||||
|
insert into t1 select * from t2;
|
||||||
|
insert into t2 select * from t1;
|
||||||
|
insert into t1 select * from t2;
|
||||||
|
insert into t2 select * from t1;
|
||||||
|
insert into t1 select * from t2;
|
||||||
|
insert into t2 select * from t1;
|
||||||
|
insert into t1 select * from t2;
|
||||||
|
insert into t2 select * from t1;
|
||||||
|
insert into t1 select * from t2;
|
||||||
|
insert into t2 select * from t1;
|
||||||
|
insert into t1 select * from t2;
|
||||||
|
insert into t2 select * from t1;
|
||||||
|
insert into t11 select * from t1;
|
||||||
|
insert into t21 select * from t1;
|
||||||
|
insert into t1 select * from t2;
|
||||||
|
insert into t2 select * from t1;
|
||||||
|
insert into t1 select * from t2;
|
||||||
|
insert into t3 select * from t1;
|
||||||
|
insert into t3 select * from t2;
|
||||||
|
insert into t3 select * from t1;
|
||||||
|
select * from t11;
|
||||||
|
select * from t21;
|
||||||
|
show status like "Qcache_total_blocks";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_total_blocks 7
|
||||||
|
show status like "Qcache_free_blocks";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_free_blocks 1
|
||||||
|
insert into t11 values("");
|
||||||
|
select * from t3;
|
||||||
|
show status like "Qcache_total_blocks";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_total_blocks 8
|
||||||
|
show status like "Qcache_free_blocks";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_free_blocks 1
|
||||||
|
flush query cache;
|
||||||
|
show status like "Qcache_total_blocks";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_total_blocks 7
|
||||||
|
show status like "Qcache_free_blocks";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_free_blocks 1
|
||||||
|
drop table t1, t2, t3, t11, t21;
|
||||||
|
set GLOBAL query_cache_size=0;
|
@ -79,68 +79,6 @@ delete from t3 where a=10;
|
|||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
drop table t1, t2, t3;
|
drop table t1, t2, t3;
|
||||||
#
|
#
|
||||||
# FLUSH QUERY CACHE
|
|
||||||
#
|
|
||||||
create table t1 (a int not null);
|
|
||||||
insert into t1 values (1),(2),(3);
|
|
||||||
create table t2 (a int not null);
|
|
||||||
insert into t2 values (1),(2),(3);
|
|
||||||
select * from t1;
|
|
||||||
select * from t2;
|
|
||||||
insert into t1 values (4);
|
|
||||||
show status like "Qcache_free_blocks";
|
|
||||||
flush query cache;
|
|
||||||
show status like "Qcache_free_blocks";
|
|
||||||
drop table t1, t2;
|
|
||||||
# With join results...
|
|
||||||
create table t1 (a text not null);
|
|
||||||
create table t11 (a text not null);
|
|
||||||
create table t2 (a text not null);
|
|
||||||
create table t21 (a text not null);
|
|
||||||
create table t3 (a text not null);
|
|
||||||
insert into t1 values("1111111111111111111111111111111111111111111111111111");
|
|
||||||
insert into t2 select * from t1;
|
|
||||||
insert into t1 select * from t2;
|
|
||||||
insert into t2 select * from t1;
|
|
||||||
insert into t1 select * from t2;
|
|
||||||
insert into t2 select * from t1;
|
|
||||||
insert into t1 select * from t2;
|
|
||||||
insert into t2 select * from t1;
|
|
||||||
insert into t1 select * from t2;
|
|
||||||
insert into t2 select * from t1;
|
|
||||||
insert into t1 select * from t2;
|
|
||||||
insert into t2 select * from t1;
|
|
||||||
insert into t1 select * from t2;
|
|
||||||
insert into t2 select * from t1;
|
|
||||||
insert into t1 select * from t2;
|
|
||||||
insert into t2 select * from t1;
|
|
||||||
# t11 and t21 must be over 4Kb (QUERY_CACHE_MIN_RESULT_DATA_SIZE)
|
|
||||||
insert into t11 select * from t1;
|
|
||||||
insert into t21 select * from t1;
|
|
||||||
insert into t1 select * from t2;
|
|
||||||
insert into t2 select * from t1;
|
|
||||||
insert into t1 select * from t2;
|
|
||||||
#results of t3 must be > 0.5Mb
|
|
||||||
insert into t3 select * from t1;
|
|
||||||
insert into t3 select * from t2;
|
|
||||||
insert into t3 select * from t1;
|
|
||||||
disable_result_log;
|
|
||||||
select * from t11;
|
|
||||||
select * from t21;
|
|
||||||
enable_result_log;
|
|
||||||
show status like "Qcache_total_blocks";
|
|
||||||
show status like "Qcache_free_blocks";
|
|
||||||
disable_result_log;
|
|
||||||
insert into t11 values("");
|
|
||||||
select * from t3;
|
|
||||||
enable_result_log;
|
|
||||||
show status like "Qcache_total_blocks";
|
|
||||||
show status like "Qcache_free_blocks";
|
|
||||||
flush query cache;
|
|
||||||
show status like "Qcache_total_blocks";
|
|
||||||
show status like "Qcache_free_blocks";
|
|
||||||
drop table t1, t2, t3, t11, t21;
|
|
||||||
#
|
|
||||||
# SELECT SQL_CACHE ...
|
# SELECT SQL_CACHE ...
|
||||||
#
|
#
|
||||||
set query_cache_type=demand;
|
set query_cache_type=demand;
|
||||||
|
81
mysql-test/t/query_cache_notembedded.test
Normal file
81
mysql-test/t/query_cache_notembedded.test
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
-- source include/have_query_cache.inc
|
||||||
|
-- source include/not_embedded.inc
|
||||||
|
|
||||||
|
#
|
||||||
|
# Tests with query cache
|
||||||
|
#
|
||||||
|
set GLOBAL query_cache_size=1355776;
|
||||||
|
|
||||||
|
# Reset query cache variables.
|
||||||
|
|
||||||
|
flush query cache; # This crashed in some versions
|
||||||
|
flush query cache; # This crashed in some versions
|
||||||
|
reset query cache;
|
||||||
|
flush status;
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1, t2, t3, t11, t21;
|
||||||
|
--enable_warnings
|
||||||
|
#
|
||||||
|
# FLUSH QUERY CACHE
|
||||||
|
#
|
||||||
|
create table t1 (a int not null);
|
||||||
|
insert into t1 values (1),(2),(3);
|
||||||
|
create table t2 (a int not null);
|
||||||
|
insert into t2 values (1),(2),(3);
|
||||||
|
select * from t1;
|
||||||
|
select * from t2;
|
||||||
|
insert into t1 values (4);
|
||||||
|
show status like "Qcache_free_blocks";
|
||||||
|
flush query cache;
|
||||||
|
show status like "Qcache_free_blocks";
|
||||||
|
drop table t1, t2;
|
||||||
|
# With join results...
|
||||||
|
create table t1 (a text not null);
|
||||||
|
create table t11 (a text not null);
|
||||||
|
create table t2 (a text not null);
|
||||||
|
create table t21 (a text not null);
|
||||||
|
create table t3 (a text not null);
|
||||||
|
insert into t1 values("1111111111111111111111111111111111111111111111111111");
|
||||||
|
insert into t2 select * from t1;
|
||||||
|
insert into t1 select * from t2;
|
||||||
|
insert into t2 select * from t1;
|
||||||
|
insert into t1 select * from t2;
|
||||||
|
insert into t2 select * from t1;
|
||||||
|
insert into t1 select * from t2;
|
||||||
|
insert into t2 select * from t1;
|
||||||
|
insert into t1 select * from t2;
|
||||||
|
insert into t2 select * from t1;
|
||||||
|
insert into t1 select * from t2;
|
||||||
|
insert into t2 select * from t1;
|
||||||
|
insert into t1 select * from t2;
|
||||||
|
insert into t2 select * from t1;
|
||||||
|
insert into t1 select * from t2;
|
||||||
|
insert into t2 select * from t1;
|
||||||
|
# t11 and t21 must be over 4Kb (QUERY_CACHE_MIN_RESULT_DATA_SIZE)
|
||||||
|
insert into t11 select * from t1;
|
||||||
|
insert into t21 select * from t1;
|
||||||
|
insert into t1 select * from t2;
|
||||||
|
insert into t2 select * from t1;
|
||||||
|
insert into t1 select * from t2;
|
||||||
|
#results of t3 must be > 0.5Mb
|
||||||
|
insert into t3 select * from t1;
|
||||||
|
insert into t3 select * from t2;
|
||||||
|
insert into t3 select * from t1;
|
||||||
|
disable_result_log;
|
||||||
|
select * from t11;
|
||||||
|
select * from t21;
|
||||||
|
enable_result_log;
|
||||||
|
show status like "Qcache_total_blocks";
|
||||||
|
show status like "Qcache_free_blocks";
|
||||||
|
disable_result_log;
|
||||||
|
insert into t11 values("");
|
||||||
|
select * from t3;
|
||||||
|
enable_result_log;
|
||||||
|
show status like "Qcache_total_blocks";
|
||||||
|
show status like "Qcache_free_blocks";
|
||||||
|
flush query cache;
|
||||||
|
show status like "Qcache_total_blocks";
|
||||||
|
show status like "Qcache_free_blocks";
|
||||||
|
drop table t1, t2, t3, t11, t21;
|
||||||
|
|
||||||
|
set GLOBAL query_cache_size=0;
|
Loading…
x
Reference in New Issue
Block a user