Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-merge1-5.0
This commit is contained in:
commit
7796a79477
@ -850,6 +850,31 @@ group_concat(a)
|
|||||||
set group_concat_max_len=default;
|
set group_concat_max_len=default;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
|
flush status;
|
||||||
|
(select a from t1) union (select a from t1);
|
||||||
|
a
|
||||||
|
show status like "Qcache_queries_in_cache";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_queries_in_cache 1
|
||||||
|
show status like "Qcache_inserts";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_inserts 1
|
||||||
|
show status like "Qcache_hits";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 0
|
||||||
|
(select a from t1) union (select a from t1);
|
||||||
|
a
|
||||||
|
show status like "Qcache_queries_in_cache";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_queries_in_cache 1
|
||||||
|
show status like "Qcache_inserts";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_inserts 1
|
||||||
|
show status like "Qcache_hits";
|
||||||
|
Variable_name Value
|
||||||
|
Qcache_hits 1
|
||||||
|
drop table t1;
|
||||||
|
create table t1 (a int);
|
||||||
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
|
||||||
|
@ -742,6 +742,21 @@ show status like "Qcache_inserts";
|
|||||||
show status like "Qcache_hits";
|
show status like "Qcache_hits";
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# BUG#14652: Queries with leading '(' characters.
|
||||||
|
#
|
||||||
|
create table t1 (a int);
|
||||||
|
flush status;
|
||||||
|
(select a from t1) union (select a from t1);
|
||||||
|
show status like "Qcache_queries_in_cache";
|
||||||
|
show status like "Qcache_inserts";
|
||||||
|
show status like "Qcache_hits";
|
||||||
|
(select a from t1) union (select a from t1);
|
||||||
|
show status like "Qcache_queries_in_cache";
|
||||||
|
show status like "Qcache_inserts";
|
||||||
|
show status like "Qcache_hits";
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
#
|
#
|
||||||
# SP cursors and selects with query cache (BUG#9715)
|
# SP cursors and selects with query cache (BUG#9715)
|
||||||
#
|
#
|
||||||
|
@ -977,21 +977,31 @@ Query_cache::send_result_to_client(THD *thd, char *sql, uint query_length)
|
|||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
Test if the query is a SELECT
|
|
||||||
(pre-space is removed in dispatch_command).
|
|
||||||
|
|
||||||
First '/' looks like comment before command it is not
|
|
||||||
frequently appeared in real lihe, consequently we can
|
|
||||||
check all such queries, too.
|
|
||||||
*/
|
|
||||||
if ((my_toupper(system_charset_info, sql[0]) != 'S' ||
|
|
||||||
my_toupper(system_charset_info, sql[1]) != 'E' ||
|
|
||||||
my_toupper(system_charset_info,sql[2]) !='L') &&
|
|
||||||
sql[0] != '/')
|
|
||||||
{
|
{
|
||||||
DBUG_PRINT("qcache", ("The statement is not a SELECT; Not cached"));
|
uint i= 0;
|
||||||
goto err;
|
/*
|
||||||
|
Skip '(' characters in queries like following:
|
||||||
|
(select a from t1) union (select a from t1);
|
||||||
|
*/
|
||||||
|
while (sql[i]=='(')
|
||||||
|
i++;
|
||||||
|
|
||||||
|
/*
|
||||||
|
Test if the query is a SELECT
|
||||||
|
(pre-space is removed in dispatch_command)
|
||||||
|
|
||||||
|
First '/' looks like comment before command it is not
|
||||||
|
frequently appeared in real lihe, consequently we can
|
||||||
|
check all such queries, too.
|
||||||
|
*/
|
||||||
|
if ((my_toupper(system_charset_info, sql[i]) != 'S' ||
|
||||||
|
my_toupper(system_charset_info, sql[i + 1]) != 'E' ||
|
||||||
|
my_toupper(system_charset_info, sql[i + 2]) != 'L') &&
|
||||||
|
sql[i] != '/')
|
||||||
|
{
|
||||||
|
DBUG_PRINT("qcache", ("The statement is not a SELECT; Not cached"));
|
||||||
|
goto err;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
STRUCT_LOCK(&structure_guard_mutex);
|
STRUCT_LOCK(&structure_guard_mutex);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user