mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
do not clear list of changed tables on one statement rollback (Bug #4213)
mysql-test/r/innodb_cache.result: test of rollback one statement in transaction mysql-test/t/innodb_cache.test: test of rollback one statement in transaction sql/handler.cc: clear changed tables list only for total roll back
This commit is contained in:
@ -98,7 +98,7 @@ commit;
|
||||
show status like "Qcache_queries_in_cache";
|
||||
Variable_name Value
|
||||
Qcache_queries_in_cache 1
|
||||
drop table if exists t1;
|
||||
drop table t3,t2,t1;
|
||||
CREATE TABLE t1 (id int(11) NOT NULL auto_increment, PRIMARY KEY (id)) TYPE=InnoDB;
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
@ -108,3 +108,22 @@ select count(*) from t1;
|
||||
count(*)
|
||||
1
|
||||
drop table t1;
|
||||
set GLOBAL query_cache_size=1355776;
|
||||
CREATE TABLE t1 ( id int(10) NOT NULL auto_increment, a varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY a (a)) TYPE=innodb;
|
||||
CREATE TABLE t2 ( id int(10) NOT NULL auto_increment, b varchar(25) default NULL, PRIMARY KEY (id), UNIQUE KEY b (b)) TYPE=innodb;
|
||||
CREATE TABLE t3 ( id int(10) NOT NULL auto_increment, t1_id int(10) NOT NULL default '0', t2_id int(10) NOT NULL default '0', state int(11) default NULL, PRIMARY KEY (id), UNIQUE KEY t1_id (t1_id,t2_id), KEY t2_id (t2_id,t1_id), CONSTRAINT `t3_ibfk_1` FOREIGN KEY (`t1_id`) REFERENCES `t1` (`id`), CONSTRAINT `t3_ibfk_2` FOREIGN KEY (`t2_id`) REFERENCES `t2` (`id`)) TYPE=innodb;
|
||||
INSERT INTO t1 VALUES (1,'me');
|
||||
INSERT INTO t2 VALUES (1,'you');
|
||||
INSERT INTO t3 VALUES (2,1,1,2);
|
||||
delete from t3 where t1_id = 1 and t2_id = 1;
|
||||
select t1.* from t1, t2, t3 where t3.state & 1 = 0 and t3.t1_id = t1.id and t3.t2_id = t2.id and t1.id = 1 order by t1.a asc;
|
||||
id a
|
||||
begin;
|
||||
insert into t3 VALUES ( NULL, 1, 1, 2 );
|
||||
insert into t3 VALUES ( NULL, 1, 1, 2 );
|
||||
Duplicate entry '1-1' for key 2
|
||||
commit;
|
||||
select t1.* from t1, t2, t3 where t3.state & 1 = 0 and t3.t1_id = t1.id and t3.t2_id = t2.id and t1.id = 1 order by t1.a asc;
|
||||
id a
|
||||
1 me
|
||||
drop table t3,t2,t1;
|
||||
|
Reference in New Issue
Block a user