Commit c5c4e315 authored by bar@bar.mysql.r18.ru's avatar bar@bar.mysql.r18.ru

Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1

into bar.mysql.r18.ru:/usr/home/bar/mysql-4.1
parents 7a623964 9023009a
...@@ -709,3 +709,50 @@ Variable_name Value ...@@ -709,3 +709,50 @@ Variable_name Value
Qcache_queries_in_cache 2 Qcache_queries_in_cache 2
SET OPTION SQL_SELECT_LIMIT=DEFAULT; SET OPTION SQL_SELECT_LIMIT=DEFAULT;
drop table t1; drop table t1;
SET NAMES koi8r;
CREATE TABLE t1 (a char(1) character set koi8r);
INSERT INTO t1 VALUES (_koi8r''),(_koi8r'');
SELECT a,'',''='' FROM t1;
a ''=''
1
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,'',''='' FROM t1;
a ''=''
0
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,'',''='' FROM t1;
a ''=''
0
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,'',''='' FROM t1;
a ''=''
0
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;
...@@ -487,3 +487,50 @@ select * from t1; ...@@ -487,3 +487,50 @@ select * from t1;
show status like "Qcache_queries_in_cache"; show status like "Qcache_queries_in_cache";
SET OPTION SQL_SELECT_LIMIT=DEFAULT; SET OPTION SQL_SELECT_LIMIT=DEFAULT;
drop table t1; 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''),(_koi8r'');
#
# Run select
#
SELECT a,'',''='' 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,'',''='' 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,'',''='' 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,'',''='' FROM t1;
show status like "Qcache_hits";
show status like "Qcache_queries_in_cache";
#
# Keep things tidy
#
DROP TABLE t1;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment