mirror of
https://github.com/MariaDB/server.git
synced 2025-01-21 06:22:28 +01:00
173 lines
4.8 KiB
Text
173 lines
4.8 KiB
Text
############# mysql-test\t\Query_cache_limit_func.test ########################
|
|
# #
|
|
# Variable Name: Query_cache_limit #
|
|
# Scope: SESSION #
|
|
# Access Type: Dynamic #
|
|
# Data Type: NUMERIC #
|
|
# Default Value: 1048576 #
|
|
# Min Value: 0 #
|
|
# #
|
|
# #
|
|
# Creation Date: 2008-03-02 #
|
|
# Author: Sharique Abdullah #
|
|
# #
|
|
# Description: Test Cases of Dynamic System Variable "Query_cache_limit" #
|
|
# that checks behavior of this variable in the following ways #
|
|
# * Functionality based on different values #
|
|
# #
|
|
# Reference: http://dev.mysql.com/doc/refman/5.1/en #
|
|
# /server-system-variables.html#option_mysqld_Query_cache_limit #
|
|
# #
|
|
###############################################################################
|
|
|
|
|
|
--echo ** Setup **
|
|
--echo
|
|
#
|
|
# Setup
|
|
#
|
|
|
|
SET @global_query_cache_limit = @@global.query_cache_limit;
|
|
|
|
--echo ** warnings **
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t;
|
|
|
|
--enable_warnings
|
|
#creating table#
|
|
|
|
--echo ** creating table **
|
|
|
|
CREATE TABLE t
|
|
(
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
c TEXT(30)
|
|
);
|
|
|
|
#inserting value#
|
|
|
|
--echo **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 & flush status
|
|
--echo ** Reset cache values **
|
|
FLUSH STATUS;
|
|
RESET QUERY CACHE;
|
|
|
|
# set query cache type value to on and allocating cache size
|
|
--echo ** On query_cache_type **
|
|
SET GLOBAL query_cache_type = ON;
|
|
|
|
--echo ** Allocating cache size **
|
|
SET GLOBAL query_cache_size = 131072;
|
|
|
|
# reset values
|
|
--echo ** Reset values
|
|
SET GLOBAL query_cache_size = 0;
|
|
SET GLOBAL query_cache_size = 131072;
|
|
SET GLOBAL query_cache_type = ON;
|
|
|
|
--echo '#---------------------FN_DYNVARS_132_01----------------------#'
|
|
#
|
|
#Check if results are cacheing on default value #
|
|
#
|
|
|
|
# Reset cache & flush status
|
|
--echo ** Reset cache values **
|
|
FLUSH STATUS;
|
|
RESET QUERY CACHE;
|
|
|
|
|
|
#fetching results#
|
|
--echo ** fetching results **
|
|
SELECT * FROM t;
|
|
|
|
# Check status
|
|
--echo ** check status on not setting query_cache_limit value **
|
|
|
|
SHOW STATUS LIKE 'Qcache_not_cached';
|
|
SHOW STATUS LIKE 'Qcache_queries_in_cache';
|
|
|
|
|
|
--echo '#---------------------FN_DYNVARS_132_02----------------------#'
|
|
#
|
|
#Check if results are cacheing on setting value to 0 i.e. no caching#
|
|
#
|
|
|
|
# Reset cache & flush status
|
|
--echo ** Reset cache values **
|
|
FLUSH STATUS;
|
|
RESET QUERY CACHE;
|
|
|
|
#set cache limit
|
|
--echo ** set cache limit **
|
|
SET @@GLOBAL.query_cache_limit=0;
|
|
|
|
#fetching results#
|
|
--echo ** fetching results **
|
|
SELECT * FROM t;
|
|
|
|
# Check status after setting value#
|
|
--echo ** Check status after setting value **
|
|
#let $newcachevalue1= query_get_value(SHOW STATUS LIKE 'Qcache_queries_in_cache', Value, 1);
|
|
SHOW STATUS LIKE 'Qcache_not_cached';
|
|
--echo 1 Expected
|
|
SHOW STATUS LIKE 'Qcache_queries_in_cache';
|
|
--echo 0 Expected
|
|
|
|
|
|
--echo '#---------------------FN_DYNVARS_132_03----------------------#'
|
|
#
|
|
# Check if setting to 0 makes any difference to the cache or not #
|
|
#
|
|
|
|
#set cache limit to default
|
|
--echo ** set cache limit **
|
|
SET @@GLOBAL.query_cache_limit=DEFAULT;
|
|
|
|
# Reset cache & flush status
|
|
--echo ** Reset cache values **
|
|
FLUSH STATUS;
|
|
RESET QUERY CACHE;
|
|
|
|
#fetching results#
|
|
--echo ** fetching results **
|
|
SELECT * FROM t;
|
|
|
|
SHOW STATUS LIKE 'Qcache_not_cached';
|
|
--echo 0 Expected
|
|
SHOW STATUS LIKE 'Qcache_queries_in_cache';
|
|
--echo 1 Expected
|
|
|
|
SET @@GLOBAL.query_cache_limit=0;
|
|
|
|
SHOW STATUS LIKE 'Qcache_not_cached';
|
|
--echo 0 Expected
|
|
SHOW STATUS LIKE 'Qcache_queries_in_cache';
|
|
--echo 1 Expected
|
|
|
|
#fetching results#
|
|
--echo ** fetching results **
|
|
SELECT * FROM t;
|
|
|
|
# Check status after setting value#
|
|
--echo ** Check status after setting value **
|
|
|
|
SHOW STATUS LIKE 'Qcache_not_cached';
|
|
--echo 0 Expected
|
|
SHOW STATUS LIKE 'Qcache_queries_in_cache';
|
|
--echo 1 Expected
|
|
|
|
#
|
|
# Cleanup
|
|
#
|
|
|
|
SET @@GLOBAL.query_cache_limit = @global_query_cache_limit;
|
|
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t;
|
|
--enable_warnings
|