mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
tabe & query hashes made case insensitive (BUG#933)
mysql-test/r/query_cache.result: fixed charecter sets new case sensetive test mysql-test/t/query_cache.test: fixed charecter sets new case sensetive test sql/sql_cache.cc: query & table comparision should be case insensitive
This commit is contained in:
@ -374,22 +374,23 @@ drop database mysqltest;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 0
|
||||
create table t1 (a char(1) not null);
|
||||
insert into t1 values("<22>");
|
||||
create table t1 (a char(1) not null collate koi8r_general_ci);
|
||||
insert into t1 values(_koi8r"<22>");
|
||||
set CHARACTER SET koi8r;
|
||||
select * from t1;
|
||||
a
|
||||
<EFBFBD>
|
||||
set CHARACTER SET cp1251_koi8;
|
||||
select * from t1;
|
||||
a
|
||||
<EFBFBD>
|
||||
<EFBFBD>
|
||||
set CHARACTER SET DEFAULT;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
Qcache_queries_in_cache 2
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 5
|
||||
Qcache_hits 4
|
||||
drop table t1;
|
||||
create database if not exists mysqltest;
|
||||
create table mysqltest.t1 (i int not null);
|
||||
@ -415,7 +416,7 @@ Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 7
|
||||
Qcache_hits 6
|
||||
drop database mysqltest;
|
||||
drop table t1;
|
||||
create table t1 (i int not null);
|
||||
@ -429,7 +430,7 @@ FOUND_ROWS()
|
||||
4
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 7
|
||||
Qcache_hits 6
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
@ -441,7 +442,7 @@ FOUND_ROWS()
|
||||
1
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 7
|
||||
Qcache_hits 6
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
@ -454,7 +455,7 @@ FOUND_ROWS()
|
||||
4
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 8
|
||||
Qcache_hits 7
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
@ -466,7 +467,7 @@ FOUND_ROWS()
|
||||
1
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 9
|
||||
Qcache_hits 8
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
@ -535,7 +536,7 @@ a
|
||||
3
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 12
|
||||
Qcache_hits 11
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
@ -552,7 +553,7 @@ a
|
||||
3
|
||||
show status like "Qcache_hits";
|
||||
Variable_name Value
|
||||
Qcache_hits 13
|
||||
Qcache_hits 12
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 2
|
||||
@ -561,6 +562,15 @@ set GLOBAL query_cache_min_res_unit=default;
|
||||
show global variables like "query_cache_min_res_unit";
|
||||
Variable_name Value
|
||||
query_cache_min_res_unit 4096
|
||||
create table t1 (a int not null);
|
||||
insert into t1 values (1);
|
||||
select "aaa" from t1;
|
||||
aaa
|
||||
aaa
|
||||
select "AAA" from t1;
|
||||
AAA
|
||||
AAA
|
||||
drop table t1;
|
||||
create table t1 (a int);
|
||||
set GLOBAL query_cache_size=1000;
|
||||
show global variables like "query_cache_size";
|
||||
|
@ -260,8 +260,9 @@ show status like "Qcache_queries_in_cache";
|
||||
#
|
||||
# Charset convertion (cp1251_koi8 always present)
|
||||
#
|
||||
create table t1 (a char(1) not null);
|
||||
insert into t1 values("<22>");
|
||||
create table t1 (a char(1) not null collate koi8r_general_ci);
|
||||
insert into t1 values(_koi8r"<22>");
|
||||
set CHARACTER SET koi8r;
|
||||
select * from t1;
|
||||
set CHARACTER SET cp1251_koi8;
|
||||
select * from t1;
|
||||
@ -368,6 +369,15 @@ drop table t2;
|
||||
set GLOBAL query_cache_min_res_unit=default;
|
||||
show global variables like "query_cache_min_res_unit";
|
||||
|
||||
#
|
||||
# Case sensitive test
|
||||
#
|
||||
create table t1 (a int not null);
|
||||
insert into t1 values (1);
|
||||
select "aaa" from t1;
|
||||
select "AAA" from t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Test of query cache resizing
|
||||
#
|
||||
|
@ -1422,10 +1422,10 @@ ulong Query_cache::init_cache()
|
||||
|
||||
DUMP(this);
|
||||
|
||||
VOID(hash_init(&queries,system_charset_info,def_query_hash_size, 0, 0,
|
||||
VOID(hash_init(&queries, &my_charset_bin, def_query_hash_size, 0, 0,
|
||||
query_cache_query_get_key, 0, 0));
|
||||
#ifndef FN_NO_CASE_SENCE
|
||||
VOID(hash_init(&tables,system_charset_info,def_table_hash_size, 0, 0,
|
||||
VOID(hash_init(&tables, &my_charset_bin, def_table_hash_size, 0, 0,
|
||||
query_cache_table_get_key, 0, 0));
|
||||
#else
|
||||
// windows, OS/2 or other case insensitive file names work around
|
||||
|
Reference in New Issue
Block a user