summaryrefslogtreecommitdiff
path: root/mysql-test/t/multi_update.test
diff options
context:
space:
mode:
authorunknown <aelkin/elkin@dsl-hkibras1-ff5dc300-70.dhcp.inet.fi>2007-06-04 15:02:40 +0300
committerunknown <aelkin/elkin@dsl-hkibras1-ff5dc300-70.dhcp.inet.fi>2007-06-04 15:02:40 +0300
commitbe99c5d331332f467697e6a0ff31182bea4a689e (patch)
treec920637995bb9acac3301616aa306510ab860726 /mysql-test/t/multi_update.test
parentdd085bacb2d2876320021cfb6958cc35e0228649 (diff)
downloadmariadb-git-be99c5d331332f467697e6a0ff31182bea4a689e.tar.gz
Bug #27716 multi-update did partially and has not binlogged
manual merge with 5.0: automatic merge went incorrectly; fixing tests in rbr mode. mysql-test/r/innodb.result: results changed because of some more queries are added mysql-test/r/multi_update.result: results changed mysql-test/r/rpl_row_basic_11bugs.result: results changed mysql-test/t/innodb.test: error code is diff in 5.0 mysql-test/t/multi_update.test: making explicit comments and forcing execution in mixed (stmt) mode. mysql-test/t/rpl_row_basic_11bugs.test: checking how binlogging works when a query on non-ta table completed partly. sql/sql_update.cc: manual merge after authomatic one failed (semantic drift)
Diffstat (limited to 'mysql-test/t/multi_update.test')
-rw-r--r--mysql-test/t/multi_update.test15
1 files changed, 10 insertions, 5 deletions
diff --git a/mysql-test/t/multi_update.test b/mysql-test/t/multi_update.test
index baab1c4c468..79d3d18dd13 100644
--- a/mysql-test/t/multi_update.test
+++ b/mysql-test/t/multi_update.test
@@ -570,10 +570,10 @@ delete t1.*,t2.* from t1,t2 where t1.i2=t2.id;
select * from t1 order by i1;
select * from t2 order by id;
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,
@@ -586,23 +586,28 @@ CREATE TABLE `t2` (
PRIMARY KEY (`a`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
-# A. testing multi_update::send_eof() execution branch
+# as the test is about to see erroed queries in binlog
+set @@session.binlog_format= mixed;
+
+
+# A. testing multi_update::send_error() effective update
insert into t1 values (1,1),(2,2);
insert into t2 values (1,1),(4,4);
reset master;
---error ER_DUP_ENTRY
+--error ER_DUP_ENTRY_WITH_KEY_NAME
UPDATE t2,t1 SET t2.a=t1.a+2;
# check
select * from t2 /* must be (3,1), (4,4) */;
show master status /* there must be the UPDATE query event */;
-# B. testing multi_update::send_error() execution branch
+# B. testing multi_update::send_error() ineffective update
+# (as there is a policy described at mysql_update() still go to binlog)
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
+--error ER_DUP_ENTRY_WITH_KEY_NAME
UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a;
show master status /* there must be the UPDATE query event */;