Commit 1dde85db authored by bell@sanja.is.com.ua's avatar bell@sanja.is.com.ua

using internal name conversion in query cache as it was suggested by Shurik

parent 4306940b
...@@ -357,12 +357,6 @@ TODO list: ...@@ -357,12 +357,6 @@ TODO list:
#define DUMP(C) #define DUMP(C)
#endif #endif
#ifdef FN_NO_CASE_SENCE
#define DB_NAME_PREPROCESS(C) tolower(C)
#else
#define DB_NAME_PREPROCESS(C) (C)
#endif
const char *query_cache_type_names[]= { "OFF", "ON", "DEMAND",NullS }; const char *query_cache_type_names[]= { "OFF", "ON", "DEMAND",NullS };
TYPELIB query_cache_type_typelib= TYPELIB query_cache_type_typelib=
{ {
...@@ -2478,12 +2472,18 @@ TABLE_COUNTER_TYPE Query_cache::is_cacheable(THD *thd, uint32 query_len, ...@@ -2478,12 +2472,18 @@ TABLE_COUNTER_TYPE Query_cache::is_cacheable(THD *thd, uint32 query_len,
if (tables_used->table->db_type == DB_TYPE_MRG_ISAM || if (tables_used->table->db_type == DB_TYPE_MRG_ISAM ||
tables_used->table->tmp_table != NO_TMP_TABLE || tables_used->table->tmp_table != NO_TMP_TABLE ||
(tables_used->db_length == 5 && (tables_used->db_length == 5 &&
DB_NAME_PREPROCESS(tables_used->db[0])=='m' && #ifdef FN_NO_CASE_SENCE
DB_NAME_PREPROCESS(tables_used->db[1])=='y' && // TODO: latin1 charset should be replaced with system charset
DB_NAME_PREPROCESS(tables_used->db[2])=='s' && my_strncasecmp(my_charset_latin1,tables_used->db,"mysql",5) == 0
DB_NAME_PREPROCESS(tables_used->db[3])=='q' && #else
DB_NAME_PREPROCESS(tables_used->db[4])=='l')) tables_used->db[0]=='m' &&
tables_used->db[1]=='y' &&
tables_used->db[2]=='s' &&
tables_used->db[3]=='q' &&
tables_used->db[4]=='l'
#endif
))
{ {
DBUG_PRINT("qcache", DBUG_PRINT("qcache",
("select not cacheable: used MRG_ISAM, temporary or system table(s)")); ("select not cacheable: used MRG_ISAM, temporary or system table(s)"));
......
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