summaryrefslogtreecommitdiff
path: root/mysql-test/t/innodb.test
diff options
context:
space:
mode:
authorunknown <aelkin/elkin@dsl-hkibras1-ff5dc300-70.dhcp.inet.fi>2007-06-02 17:56:39 +0300
committerunknown <aelkin/elkin@dsl-hkibras1-ff5dc300-70.dhcp.inet.fi>2007-06-02 17:56:39 +0300
commitdd085bacb2d2876320021cfb6958cc35e0228649 (patch)
tree640d5e7d3c48fece614f95259ddf09c51ecc2bc2 /mysql-test/t/innodb.test
parent075346acc8e5b17a9612718d3eda320762350f3a (diff)
parent4bdbc3396ea4335ed1f6d01afe4f557b57b183a3 (diff)
downloadmariadb-git-dd085bacb2d2876320021cfb6958cc35e0228649.tar.gz
Merge dsl-hkibras1-ff5dc300-70.dhcp.inet.fi:/home/elkin/MySQL/TEAM/BARE/5.0
into dsl-hkibras1-ff5dc300-70.dhcp.inet.fi:/tmp/merge_5.0 mysql-test/t/innodb.test: Auto merged mysql-test/r/innodb.result: manual merge use local 5.1 mysql-test/r/multi_update.result: manual merge mysql-test/t/multi_update.test: manual merge sql/sql_update.cc: manual merge
Diffstat (limited to 'mysql-test/t/innodb.test')
-rw-r--r--mysql-test/t/innodb.test39
1 files changed, 39 insertions, 0 deletions
diff --git a/mysql-test/t/innodb.test b/mysql-test/t/innodb.test
index 439a7adc669..ec8f1c9a3c1 100644
--- a/mysql-test/t/innodb.test
+++ b/mysql-test/t/innodb.test
@@ -755,6 +755,45 @@ select * from t2;
drop table t1,t2;
#
+# Bug#27716 multi-update did partially and has not binlogged
+#
+
+CREATE TABLE `t1` (
+ `a` int(11) NOT NULL auto_increment,
+ `b` int(11) default NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
+
+CREATE TABLE `t2` (
+ `a` int(11) NOT NULL auto_increment,
+ `b` int(11) default NULL,
+ PRIMARY KEY (`a`)
+) ENGINE=INNODB DEFAULT CHARSET=latin1 ;
+
+# A. testing multi_update::send_eof() execution branch
+insert into t1 values (1,1),(2,2);
+insert into t2 values (1,1),(4,4);
+reset master;
+--error ER_DUP_ENTRY
+UPDATE t2,t1 SET t2.a=t1.a+2;
+# check
+select * from t2 /* must be (3,1), (4,4) */;
+show master status /* there must no UPDATE in binlog */;
+
+# B. testing multi_update::send_error() execution branch
+delete from t1;
+delete from t2;
+insert into t1 values (1,2),(3,4),(4,4);
+insert into t2 values (1,2),(3,4),(4,4);
+reset master;
+--error ER_DUP_ENTRY
+UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a;
+show master status /* there must be no UPDATE query event */;
+
+# cleanup bug#27716
+drop table t1, t2;
+
+#
# Testing of IFNULL
#
create table t1 (a int, b int) engine=innodb;