mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
91 lines
3 KiB
Text
91 lines
3 KiB
Text
set @save_query_cache_size=@@query_cache_size;
|
|
#
|
|
# MDEV-12485: foreign key on delete cascade stale entries with
|
|
# query cache enabled
|
|
#
|
|
SET NAMES utf8;
|
|
set global query_cache_type=1;
|
|
set global query_cache_size=1024*1024;
|
|
set query_cache_type=1;
|
|
create table t1 ( id int unsigned auto_increment, primary key(id) ) engine=innodb;
|
|
create table t2 ( t2id int unsigned, id int unsigned, primary key(t2id, id), foreign key (`id`) references t1(`id`) on delete cascade ) engine=innodb;
|
|
insert into t1 values (1);
|
|
insert into t2 values (1,1);
|
|
select * from t2;
|
|
t2id id
|
|
1 1
|
|
show status like "Qcache_queries_in_cache";
|
|
Variable_name Value
|
|
Qcache_queries_in_cache 1
|
|
delete from t1;
|
|
show status like "Qcache_queries_in_cache";
|
|
Variable_name Value
|
|
Qcache_queries_in_cache 0
|
|
select * from t2;
|
|
t2id id
|
|
optimize table t2;
|
|
Table Op Msg_type Msg_text
|
|
test.t2 optimize note Table does not support optimize, doing recreate + analyze instead
|
|
test.t2 optimize status OK
|
|
select * from t2;
|
|
t2id id
|
|
drop table t2;
|
|
drop table t1;
|
|
create database `testdatabase$ї`;
|
|
use `testdatabase$ї`;
|
|
create table `t1$ї` ( id int unsigned auto_increment, primary key(id) ) engine=innodb;
|
|
create table `t2$ї` ( t2id int unsigned, id int unsigned, primary key(t2id, id), foreign key (`id`) references `t1$ї`(`id`) on delete cascade ) engine=innodb;
|
|
insert into `t1$ї` values (1);
|
|
insert into `t2$ї`values (1,1);
|
|
select * from `t2$ї`;
|
|
t2id id
|
|
1 1
|
|
show status like "Qcache_queries_in_cache";
|
|
Variable_name Value
|
|
Qcache_queries_in_cache 1
|
|
delete from `t1$ї`;
|
|
show status like "Qcache_queries_in_cache";
|
|
Variable_name Value
|
|
Qcache_queries_in_cache 0
|
|
select * from `t2$ї`;
|
|
t2id id
|
|
optimize table `t2$ї`;
|
|
Table Op Msg_type Msg_text
|
|
testdatabase$ї.t2$ї optimize note Table does not support optimize, doing recreate + analyze instead
|
|
testdatabase$ї.t2$ї optimize status OK
|
|
select * from `t2$ї`;
|
|
t2id id
|
|
use test;
|
|
drop database `testdatabase$ї`;
|
|
SET NAMES default;
|
|
create database `#mysql50#-`;
|
|
use `#mysql50#-`;
|
|
create table `#mysql50#t-1` ( id int unsigned auto_increment, primary key(id) ) engine=innodb;
|
|
create table `#mysql50#t-2` ( t2id int unsigned, id int unsigned, primary key(t2id, id), foreign key (`id`) references `#mysql50#t-1`(`id`) on delete cascade ) engine=innodb;
|
|
insert into `#mysql50#t-1` values (1);
|
|
insert into `#mysql50#t-2`values (1,1);
|
|
select * from `#mysql50#t-2`;
|
|
t2id id
|
|
1 1
|
|
show status like "Qcache_queries_in_cache";
|
|
Variable_name Value
|
|
Qcache_queries_in_cache 1
|
|
delete from `#mysql50#t-1`;
|
|
show status like "Qcache_queries_in_cache";
|
|
Variable_name Value
|
|
Qcache_queries_in_cache 0
|
|
select * from `#mysql50#t-2`;
|
|
t2id id
|
|
optimize table `#mysql50#t-2`;
|
|
Table Op Msg_type Msg_text
|
|
#mysql50#-.#mysql50#t-2 optimize note Table does not support optimize, doing recreate + analyze instead
|
|
#mysql50#-.#mysql50#t-2 optimize status OK
|
|
select * from `#mysql50#t-2`;
|
|
t2id id
|
|
use test;
|
|
drop database `#mysql50#-`;
|
|
SET NAMES default;
|
|
FOUND 8 /\[ERROR\] Invalid \(old\?\) table or database name/ in mysqld.1.err
|
|
set global query_cache_type=DEFAULT;
|
|
set global query_cache_size=@save_query_cache_size;
|
|
End of 10.2 tests
|