summaryrefslogtreecommitdiff
path: root/mysql-test/t/innodb.test
diff options
context:
space:
mode:
authorunknown <tsmith@maint1.mysql.com>2007-06-21 20:55:37 +0200
committerunknown <tsmith@maint1.mysql.com>2007-06-21 20:55:37 +0200
commit2da92ead65f1bf6189e556d42fe9a11108ef343e (patch)
tree9396a2750231f593b88b423264adf6f3b7ba6af9 /mysql-test/t/innodb.test
parenta1c0a4b45d5d60322e8615ae7407e90cfcebb576 (diff)
parent8ddf61d382cf98ab8adc23c04c0aced95bc4f4ef (diff)
downloadmariadb-git-2da92ead65f1bf6189e556d42fe9a11108ef343e.tar.gz
Merge maint1.mysql.com:/data/localhome/tsmith/bk/maint/50
into maint1.mysql.com:/data/localhome/tsmith/bk/maint/51 configure.in: Auto merged include/m_ctype.h: Auto merged mysql-test/Makefile.am: Auto merged mysql-test/t/innodb.test: Auto merged mysys/charset-def.c: Auto merged mysys/charset.c: Auto merged sql/log_event.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_class.cc: Auto merged strings/ctype-big5.c: Auto merged strings/ctype-gbk.c: Auto merged strings/ctype-sjis.c: Auto merged strings/ctype-uca.c: Auto merged strings/ctype.c: Auto merged mysql-test/r/innodb.result: Manual merge mysql-test/r/multi_update.result: Manual merge mysql-test/t/multi_update.test: Manual merge sql/sql_update.cc: SCCS merged
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 8f619139e59..4ec20a3fd8a 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;