diff options
author | unknown <guilhem@mysql.com> | 2003-05-24 16:43:53 +0200 |
---|---|---|
committer | unknown <guilhem@mysql.com> | 2003-05-24 16:43:53 +0200 |
commit | 73e80314aa17b13d8bb0a6f0f230b99c439bee8a (patch) | |
tree | f52c1e21cb447f101890fd875f33c47e583d5b05 /mysql-test/t/insert_select.test | |
parent | cceae0577bef7237e1c68cebf47c8902dcc9a736 (diff) | |
download | mariadb-git-73e80314aa17b13d8bb0a6f0f230b99c439bee8a.tar.gz |
Fix for bug #490 and #491 (see details below)
mysql-test/r/insert_select.result:
Result update.
mysql-test/r/rpl_insert_id.result:
Test update
mysql-test/t/insert_select.test:
Check if a partly completed INSERT SELECT (failing because of "Duplicate key"
after successfully inserting other rows) is written to the binlog if the
table is not transactional and at least one row has been inserted (bug #491)
mysql-test/t/rpl_insert_id.test:
Test for bug #490 (INSERT SELECT in auto_increment)
sql/sql_insert.cc:
- In INSERT ... SELECT, if it fails with error but one row has been inserted and
the table is not transactional, we must write to the binlog (the slave will stop
because of the error code in the binlog event, this is normal). bug 491.
- we must set INSERT_ID before writing to the binlog (bug 490
accidentally introduced by another dev in 4.0.13).
Diffstat (limited to 'mysql-test/t/insert_select.test')
-rw-r--r-- | mysql-test/t/insert_select.test | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/mysql-test/t/insert_select.test b/mysql-test/t/insert_select.test index 42f65858d77..695f891f678 100644 --- a/mysql-test/t/insert_select.test +++ b/mysql-test/t/insert_select.test @@ -68,3 +68,22 @@ WHERE numeropost=9 ORDER BY numreponse ASC; DROP TABLE IF EXISTS crash1,crash2; + +# Addendum by Guilhem: +# Check if a partly-completed INSERT SELECT in a MyISAM table goes +# into the binlog +drop table if exists t1; +drop table if exists t2; +create table t1(a int, unique(a)); +insert into t1 values(2); +create table t2(a int); +insert into t2 values(1),(2); +reset master; +--error 1062 +insert into t1 select * from t2; +# The above should produce an error, but still be in the binlog; +# verify the binlog : +let $VERSION=`select version()`; +--replace_result $VERSION VERSION +show binlog events; +drop table t1, t2; |