1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

query_cache.result, query_cache.test:

Character set variables test
This commit is contained in:
bar@bar.mysql.r18.ru
2003-10-08 10:18:38 +05:00
parent 69c206915f
commit 9023009ae3
2 changed files with 94 additions and 0 deletions

View File

@ -709,3 +709,50 @@ Variable_name Value
Qcache_queries_in_cache 2
SET OPTION SQL_SELECT_LIMIT=DEFAULT;
drop table t1;
SET NAMES koi8r;
CREATE TABLE t1 (a char(1) character set koi8r);
INSERT INTO t1 VALUES (_koi8r'<27>'),(_koi8r'<27>');
SELECT a,'<27>','<27>'='<27>' FROM t1;
a <09> '<27>'='<27>'
<EFBFBD> <09> 1
<EFBFBD> <09> 1
show status like "Qcache_hits";
Variable_name Value
Qcache_hits 12
show status like "Qcache_queries_in_cache";
Variable_name Value
Qcache_queries_in_cache 1
set collation_connection=koi8r_bin;
SELECT a,'<27>','<27>'='<27>' FROM t1;
a <09> '<27>'='<27>'
<EFBFBD> <09> 0
<EFBFBD> <09> 0
show status like "Qcache_hits";
Variable_name Value
Qcache_hits 12
show status like "Qcache_queries_in_cache";
Variable_name Value
Qcache_queries_in_cache 2
set character_set_client=cp1251;
SELECT a,'<27>','<27>'='<27>' FROM t1;
a <09> '<27>'='<27>'
<EFBFBD> <09> 0
<EFBFBD> <09> 0
show status like "Qcache_hits";
Variable_name Value
Qcache_hits 12
show status like "Qcache_queries_in_cache";
Variable_name Value
Qcache_queries_in_cache 3
set character_set_results=cp1251;
SELECT a,'<27>','<27>'='<27>' FROM t1;
a <09> '<27>'='<27>'
<EFBFBD> <09> 0
<EFBFBD> <09> 0
show status like "Qcache_hits";
Variable_name Value
Qcache_hits 12
show status like "Qcache_queries_in_cache";
Variable_name Value
Qcache_queries_in_cache 4
DROP TABLE t1;

View File

@ -487,3 +487,50 @@ select * from t1;
show status like "Qcache_queries_in_cache";
SET OPTION SQL_SELECT_LIMIT=DEFAULT;
drop table t1;
#
# Test character set related variables:
# character_set_result
# character_set_client
# charactet_set_connection/collation_connection
# If at least one of the above variables has changed,
# the cached query can't be reused. In the below test
# absolutely the same query is used several times,
# SELECT should fetch different results for every instance.
# No hits should be produced.
# New cache entry should appear for every SELECT.
#
SET NAMES koi8r;
CREATE TABLE t1 (a char(1) character set koi8r);
INSERT INTO t1 VALUES (_koi8r'<27>'),(_koi8r'<27>');
#
# Run select
#
SELECT a,'<27>','<27>'='<27>' FROM t1;
show status like "Qcache_hits";
show status like "Qcache_queries_in_cache";
#
# Change collation_connection and run the same query again
#
set collation_connection=koi8r_bin;
SELECT a,'<27>','<27>'='<27>' FROM t1;
show status like "Qcache_hits";
show status like "Qcache_queries_in_cache";
#
# Now change character_set_client and run the same query again
#
set character_set_client=cp1251;
SELECT a,'<27>','<27>'='<27>' FROM t1;
show status like "Qcache_hits";
show status like "Qcache_queries_in_cache";
#
# And finally change character_set_results and run the same query again
#
set character_set_results=cp1251;
SELECT a,'<27>','<27>'='<27>' FROM t1;
show status like "Qcache_hits";
show status like "Qcache_queries_in_cache";
#
# Keep things tidy
#
DROP TABLE t1;