summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorunknown <Sinisa@sinisa.nasamreza.org>2003-03-11 19:40:49 +0200
committerunknown <Sinisa@sinisa.nasamreza.org>2003-03-11 19:40:49 +0200
commitfd59fb1031bfcf0d0154f192fe8d8895a2f69b5a (patch)
treee3735cb804d191d6ea34c1e12ac74b093cd45277 /mysql-test
parentb65aee401ca3a42b279fa824ba9a8f16522592ab (diff)
downloadmariadb-git-fd59fb1031bfcf0d0154f192fe8d8895a2f69b5a.tar.gz
A bug fix for multi-table updates with InnoDB storage engine
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/r/innodb.result17
-rw-r--r--mysql-test/t/innodb.test11
2 files changed, 28 insertions, 0 deletions
diff --git a/mysql-test/r/innodb.result b/mysql-test/r/innodb.result
index d65e90a6cc0..e577ddb9ecd 100644
--- a/mysql-test/r/innodb.result
+++ b/mysql-test/r/innodb.result
@@ -1074,3 +1074,20 @@ id
select * from t2;
id t1_id
drop table t1,t2;
+DROP TABLE IF EXISTS t1,t2;
+CREATE TABLE t1(id INT NOT NULL, PRIMARY KEY (id)) TYPE=INNODB;
+CREATE TABLE t2(id INT PRIMARY KEY, t1_id INT, INDEX par_ind (t1_id) ) TYPE=INNODB;
+INSERT INTO t1 VALUES(1);
+INSERT INTO t2 VALUES(1, 1);
+SELECT * from t1;
+id
+1
+UPDATE t1,t2 SET t1.id=t1.id+1, t2.t1_id=t1.id+1;
+SELECT * from t1;
+id
+2
+UPDATE t1,t2 SET t1.id=t1.id+1;
+SELECT * from t1;
+id
+3
+DROP TABLE IF EXISTS t1,t2;
diff --git a/mysql-test/t/innodb.test b/mysql-test/t/innodb.test
index 7d13258ede1..bd44038b446 100644
--- a/mysql-test/t/innodb.test
+++ b/mysql-test/t/innodb.test
@@ -715,3 +715,14 @@ delete t1,t2 from t1,t2 where t1.id=t2.t1_id;
select * from t1;
select * from t2;
drop table t1,t2;
+DROP TABLE IF EXISTS t1,t2;
+CREATE TABLE t1(id INT NOT NULL, PRIMARY KEY (id)) TYPE=INNODB;
+CREATE TABLE t2(id INT PRIMARY KEY, t1_id INT, INDEX par_ind (t1_id) ) TYPE=INNODB;
+INSERT INTO t1 VALUES(1);
+INSERT INTO t2 VALUES(1, 1);
+SELECT * from t1;
+UPDATE t1,t2 SET t1.id=t1.id+1, t2.t1_id=t1.id+1;
+SELECT * from t1;
+UPDATE t1,t2 SET t1.id=t1.id+1;
+SELECT * from t1;
+DROP TABLE IF EXISTS t1,t2;