mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 21:42:35 +01:00
1fc5777320
- Updated slow_query_log_file_basic and general_log_file basis instead of the func version as the func version run good but the basic versions fail. - Sent innodb.test to dev@innodb.com. - variables.test has differences probably due to a bug in mtr or in the SET statement (see bug#39369). - general_log_file_basic.test and slow_query_log_file_bsaic.test have differences, which might be produced by the new mtr (see bug#38124).
177 lines
4.9 KiB
Text
177 lines
4.9 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 #
|
|
# #
|
|
###############################################################################
|
|
|
|
|
|
--echo ** Setup **
|
|
--echo
|
|
#
|
|
# 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;
|
|
|
|
--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 **
|
|
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;
|
|
SET GLOBAL query_cache_size = @global_query_cache_size;
|
|
SET GLOBAL query_cache_type = @global_query_cache_type;
|
|
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t;
|
|
--enable_warnings
|
|
|