mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge adventure.(none):/home/thek/Development/cpp/bug30887/my51-bug30887
into adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime sql/sql_cache.cc: Auto merged
This commit is contained in:
@ -1669,4 +1669,28 @@ SELECT 1 FROM t1 GROUP BY
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
flush status;
|
||||
set query_cache_type=DEMAND;
|
||||
set global query_cache_size= 1024*1024*512;
|
||||
drop table if exists t1;
|
||||
create table t1 (a varchar(100));
|
||||
insert into t1 values ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'),('bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb');
|
||||
Activate debug hook and attempt to retrieve the statement from the cache.
|
||||
set session debug='+d,wait_in_query_cache_insert';
|
||||
select SQL_CACHE * from t1;;
|
||||
On a second connection; clear the query cache.
|
||||
show status like 'Qcache_queries_in_cache';
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
set global query_cache_size= 0;;
|
||||
Signal the debug hook to release the lock.
|
||||
select id from information_schema.processlist where state='wait_in_query_cache_insert' into @thread_id;
|
||||
kill query @thread_id;
|
||||
Show query cache status.
|
||||
show status like 'Qcache_queries_in_cache';
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
set global query_cache_size= 0;
|
||||
use test;
|
||||
drop table t1;
|
||||
End of 5.1 tests
|
||||
|
@ -1316,6 +1316,47 @@ SELECT 1 FROM t1 GROUP BY
|
||||
(SELECT LAST_INSERT_ID() FROM t1 ORDER BY MIN(a) ASC LIMIT 1);
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #30887 Server crashes on SET GLOBAL query_cache_size=0
|
||||
#
|
||||
flush status;
|
||||
set query_cache_type=DEMAND;
|
||||
set global query_cache_size= 1024*1024*512;
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
create table t1 (a varchar(100));
|
||||
insert into t1 values ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'),('bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb');
|
||||
connect (bug30887con1, localhost, root, ,test);
|
||||
connect (bug30887con2, localhost, root, ,test);
|
||||
|
||||
connection bug30887con1;
|
||||
--echo Activate debug hook and attempt to retrieve the statement from the cache.
|
||||
set session debug='+d,wait_in_query_cache_insert';
|
||||
--send select SQL_CACHE * from t1;
|
||||
|
||||
connection default;
|
||||
let $wait_condition= select count(*)= 1 from information_schema.processlist where state= 'wait_in_query_cache_insert';
|
||||
--source include/wait_condition.inc
|
||||
|
||||
connection bug30887con2;
|
||||
--echo On a second connection; clear the query cache.
|
||||
show status like 'Qcache_queries_in_cache';
|
||||
--send set global query_cache_size= 0;
|
||||
|
||||
connection default;
|
||||
--echo Signal the debug hook to release the lock.
|
||||
select id from information_schema.processlist where state='wait_in_query_cache_insert' into @thread_id;
|
||||
kill query @thread_id;
|
||||
|
||||
--echo Show query cache status.
|
||||
show status like 'Qcache_queries_in_cache';
|
||||
|
||||
disconnect bug30887con1;
|
||||
disconnect bug30887con2;
|
||||
set global query_cache_size= 0;
|
||||
use test;
|
||||
drop table t1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
|
Reference in New Issue
Block a user