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";
|
show status like "Qcache_queries_in_cache";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_queries_in_cache 0
|
Qcache_queries_in_cache 0
|
||||||
create table t1 (a char(1) not null);
|
create table t1 (a char(1) not null collate koi8r_general_ci);
|
||||||
insert into t1 values("<22>");
|
insert into t1 values(_koi8r"<22>");
|
||||||
|
set CHARACTER SET koi8r;
|
||||||
select * from t1;
|
select * from t1;
|
||||||
a
|
a
|
||||||
<EFBFBD>
|
<EFBFBD>
|
||||||
set CHARACTER SET cp1251_koi8;
|
set CHARACTER SET cp1251_koi8;
|
||||||
select * from t1;
|
select * from t1;
|
||||||
a
|
a
|
||||||
<EFBFBD>
|
<EFBFBD>
|
||||||
set CHARACTER SET DEFAULT;
|
set CHARACTER SET DEFAULT;
|
||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_queries_in_cache 1
|
Qcache_queries_in_cache 2
|
||||||
show status like "Qcache_hits";
|
show status like "Qcache_hits";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_hits 5
|
Qcache_hits 4
|
||||||
drop table t1;
|
drop table t1;
|
||||||
create database if not exists mysqltest;
|
create database if not exists mysqltest;
|
||||||
create table mysqltest.t1 (i int not null);
|
create table mysqltest.t1 (i int not null);
|
||||||
@ -415,7 +416,7 @@ Variable_name Value
|
|||||||
Qcache_queries_in_cache 2
|
Qcache_queries_in_cache 2
|
||||||
show status like "Qcache_hits";
|
show status like "Qcache_hits";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_hits 7
|
Qcache_hits 6
|
||||||
drop database mysqltest;
|
drop database mysqltest;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
create table t1 (i int not null);
|
create table t1 (i int not null);
|
||||||
@ -429,7 +430,7 @@ FOUND_ROWS()
|
|||||||
4
|
4
|
||||||
show status like "Qcache_hits";
|
show status like "Qcache_hits";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_hits 7
|
Qcache_hits 6
|
||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_queries_in_cache 1
|
Qcache_queries_in_cache 1
|
||||||
@ -441,7 +442,7 @@ FOUND_ROWS()
|
|||||||
1
|
1
|
||||||
show status like "Qcache_hits";
|
show status like "Qcache_hits";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_hits 7
|
Qcache_hits 6
|
||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_queries_in_cache 2
|
Qcache_queries_in_cache 2
|
||||||
@ -454,7 +455,7 @@ FOUND_ROWS()
|
|||||||
4
|
4
|
||||||
show status like "Qcache_hits";
|
show status like "Qcache_hits";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_hits 8
|
Qcache_hits 7
|
||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_queries_in_cache 2
|
Qcache_queries_in_cache 2
|
||||||
@ -466,7 +467,7 @@ FOUND_ROWS()
|
|||||||
1
|
1
|
||||||
show status like "Qcache_hits";
|
show status like "Qcache_hits";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_hits 9
|
Qcache_hits 8
|
||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_queries_in_cache 2
|
Qcache_queries_in_cache 2
|
||||||
@ -535,7 +536,7 @@ a
|
|||||||
3
|
3
|
||||||
show status like "Qcache_hits";
|
show status like "Qcache_hits";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_hits 12
|
Qcache_hits 11
|
||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_queries_in_cache 2
|
Qcache_queries_in_cache 2
|
||||||
@ -552,7 +553,7 @@ a
|
|||||||
3
|
3
|
||||||
show status like "Qcache_hits";
|
show status like "Qcache_hits";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_hits 13
|
Qcache_hits 12
|
||||||
show status like "Qcache_queries_in_cache";
|
show status like "Qcache_queries_in_cache";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Qcache_queries_in_cache 2
|
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";
|
show global variables like "query_cache_min_res_unit";
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
query_cache_min_res_unit 4096
|
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);
|
create table t1 (a int);
|
||||||
set GLOBAL query_cache_size=1000;
|
set GLOBAL query_cache_size=1000;
|
||||||
show global variables like "query_cache_size";
|
show global variables like "query_cache_size";
|
||||||
|
@ -260,8 +260,9 @@ show status like "Qcache_queries_in_cache";
|
|||||||
#
|
#
|
||||||
# Charset convertion (cp1251_koi8 always present)
|
# Charset convertion (cp1251_koi8 always present)
|
||||||
#
|
#
|
||||||
create table t1 (a char(1) not null);
|
create table t1 (a char(1) not null collate koi8r_general_ci);
|
||||||
insert into t1 values("<22>");
|
insert into t1 values(_koi8r"<22>");
|
||||||
|
set CHARACTER SET koi8r;
|
||||||
select * from t1;
|
select * from t1;
|
||||||
set CHARACTER SET cp1251_koi8;
|
set CHARACTER SET cp1251_koi8;
|
||||||
select * from t1;
|
select * from t1;
|
||||||
@ -368,6 +369,15 @@ drop table t2;
|
|||||||
set GLOBAL query_cache_min_res_unit=default;
|
set GLOBAL query_cache_min_res_unit=default;
|
||||||
show global variables like "query_cache_min_res_unit";
|
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
|
# Test of query cache resizing
|
||||||
#
|
#
|
||||||
|
@ -1422,10 +1422,10 @@ ulong Query_cache::init_cache()
|
|||||||
|
|
||||||
DUMP(this);
|
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));
|
query_cache_query_get_key, 0, 0));
|
||||||
#ifndef FN_NO_CASE_SENCE
|
#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));
|
query_cache_table_get_key, 0, 0));
|
||||||
#else
|
#else
|
||||||
// windows, OS/2 or other case insensitive file names work around
|
// windows, OS/2 or other case insensitive file names work around
|
||||||
|
Reference in New Issue
Block a user