diff options
author | Kristofer Pettersson <kristofer.pettersson@sun.com> | 2009-10-29 12:19:36 +0100 |
---|---|---|
committer | Kristofer Pettersson <kristofer.pettersson@sun.com> | 2009-10-29 12:19:36 +0100 |
commit | ddcdacb297ffd42f38743321f7861451e77ce142 (patch) | |
tree | ee40d9b2a4d8b057cf54f1c758a85e0cbc092ab4 /mysql-test | |
parent | 42cdc4df8f4a2ed375d935d7d3dd8a877fa9e007 (diff) | |
download | mariadb-git-ddcdacb297ffd42f38743321f7861451e77ce142.tar.gz |
Bug#38551 query cache can still consume [very little] cpu time even when it is off.
When the query cache is disabled, the server shouldn't attempt to take the
query cache mutex.
By using the command line option --query_cache_type=0, the user can disable
(backport from mysql-pe)
mysql-test/t/query_cache_disabled-master.opt:
* added test case for bug38551
mysql-test/t/query_cache_disabled.test:
* added test case for bug38551
sql/set_var.cc:
* Added before-trigger to verify that query_cache_type wasn't turned off or on during
runtime.
sql/set_var.h:
* Changed order on how the enumeration is processed. By first projecting the
character representation of the variable to a temporary integer we can have
one function instead of two to check if the value is valid.
sql/share/errmsg-utf8.txt:
* Added error message for query cache disabled state
sql/sql_cache.cc:
* If the query cache is disabled at start up, shorten the execution path and avoid
grabbing the query cache mutex each time the invalidate interface methods are called.
sql/sql_cache.h:
* Added new methods to set the query cache into a disabled state.
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/t/query_cache_disabled-master.opt | 1 | ||||
-rw-r--r-- | mysql-test/t/query_cache_disabled.test | 15 |
2 files changed, 16 insertions, 0 deletions
diff --git a/mysql-test/t/query_cache_disabled-master.opt b/mysql-test/t/query_cache_disabled-master.opt new file mode 100644 index 00000000000..d7d47164883 --- /dev/null +++ b/mysql-test/t/query_cache_disabled-master.opt @@ -0,0 +1 @@ +--query_cache_type=0 diff --git a/mysql-test/t/query_cache_disabled.test b/mysql-test/t/query_cache_disabled.test new file mode 100644 index 00000000000..cbc98bd94d6 --- /dev/null +++ b/mysql-test/t/query_cache_disabled.test @@ -0,0 +1,15 @@ +-- source include/have_query_cache.inc +# +# Bug#38551 query cache can still consume [very little] cpu time even when it is off. +# +SHOW GLOBAL VARIABLES LIKE 'query_cache_type'; +--error ER_QUERY_CACHE_DISABLED +SET GLOBAL query_cache_type=ON; +--error ER_QUERY_CACHE_DISABLED +SET GLOBAL query_cache_type=DEMAND; +--error ER_QUERY_CACHE_DISABLED +SET GLOBAL query_cache_type=OFF; +SET GLOBAL query_cache_size=1024*1024; +SHOW GLOBAL VARIABLES LIKE 'query_cache_size'; +SET GLOBAL query_cache_size=0; + |