** Setup **

SET @global_query_cache_limit = @@global.query_cache_limit;
SET @global_query_cache_size = @@global.query_cache_size;
SET @global_query_cache_type = @@global.query_cache_type;
** warnings **
DROP TABLE IF EXISTS t;
** creating table **
CREATE TABLE t
(
id INT AUTO_INCREMENT PRIMARY KEY,
c TEXT(30)
);
**inserting value **
INSERT INTO t set c = repeat('x',29);
INSERT INTO t set c = concat(repeat('x',28),'r','x');
INSERT INTO t set c = concat(repeat('x',28),'s','y');
INSERT INTO t set c = concat(repeat('x',28),'g','w');
** Reset cache values **
FLUSH STATUS;
RESET QUERY CACHE;
** On query_cache_type **
SET GLOBAL query_cache_type = ON;
** Allocating cache size **
SET GLOBAL query_cache_size = 131072;
** Reset values
SET GLOBAL query_cache_size = 0;
SET GLOBAL query_cache_size = 131072;
SET GLOBAL query_cache_type = ON;
'#---------------------FN_DYNVARS_132_01----------------------#'
** Reset cache values **
FLUSH STATUS;
RESET QUERY CACHE;
** fetching results **
SELECT * FROM t;
id	c
1	xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2	xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx
3	xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy
4	xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw
** check status on not setting query_cache_limit value **
SHOW STATUS LIKE 'Qcache_not_cached';
Variable_name	Value
Qcache_not_cached	0
SHOW STATUS LIKE 'Qcache_queries_in_cache';
Variable_name	Value
Qcache_queries_in_cache	1
'#---------------------FN_DYNVARS_132_02----------------------#'
** Reset cache values **
FLUSH STATUS;
RESET QUERY CACHE;
** set cache limit **
SET @@GLOBAL.query_cache_limit = 0;
** fetching results **
SELECT * FROM t;
id	c
1	xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2	xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx
3	xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy
4	xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw
** Check status after setting value **
SHOW STATUS LIKE 'Qcache_not_cached';
Variable_name	Value
Qcache_not_cached	1
1 Expected
SHOW STATUS LIKE 'Qcache_queries_in_cache';
Variable_name	Value
Qcache_queries_in_cache	0
0 Expected
'#---------------------FN_DYNVARS_132_03----------------------#'
** set cache limit **
SET @@GLOBAL.query_cache_limit = DEFAULT;
** Reset cache values **
FLUSH STATUS;
RESET QUERY CACHE;
** fetching results **
SELECT * FROM t;
id	c
1	xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2	xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx
3	xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy
4	xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw
SHOW STATUS LIKE 'Qcache_not_cached';
Variable_name	Value
Qcache_not_cached	0
0 Expected
SHOW STATUS LIKE 'Qcache_queries_in_cache';
Variable_name	Value
Qcache_queries_in_cache	1
1 Expected
SET @@GLOBAL.query_cache_limit = 0;
SHOW STATUS LIKE 'Qcache_not_cached';
Variable_name	Value
Qcache_not_cached	0
0 Expected
SHOW STATUS LIKE 'Qcache_queries_in_cache';
Variable_name	Value
Qcache_queries_in_cache	1
1 Expected
** fetching results **
SELECT * FROM t;
id	c
1	xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2	xxxxxxxxxxxxxxxxxxxxxxxxxxxxrx
3	xxxxxxxxxxxxxxxxxxxxxxxxxxxxsy
4	xxxxxxxxxxxxxxxxxxxxxxxxxxxxgw
** Check status after setting value **
SHOW STATUS LIKE 'Qcache_not_cached';
Variable_name	Value
Qcache_not_cached	0
0 Expected
SHOW STATUS LIKE 'Qcache_queries_in_cache';
Variable_name	Value
Qcache_queries_in_cache	1
1 Expected
SET @@GLOBAL.query_cache_limit = @global_query_cache_limit;
SET GLOBAL query_cache_size = @global_query_cache_size;
SET GLOBAL query_cache_type = @global_query_cache_type;
DROP TABLE IF EXISTS t;
