1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00

Bug #28719: multi pk update ignore corrupts data

- check multi update as well as update
- this bug is not present in 5.0, but execution patch is wrong, so there are probably other bugs


mysql-test/r/ndb_basic.result:
  Bug #28719: multi pk update ignore corrupts data
  - add test + backport some tests from 5.1
mysql-test/t/ndb_basic.test:
  Bug #28719: multi pk update ignore corrupts data
  - add test + backport some tests from 5.1
This commit is contained in:
unknown
2007-05-28 13:23:11 +02:00
parent d41bc07359
commit b1a5f427bc
3 changed files with 113 additions and 1 deletions

View File

@ -770,4 +770,75 @@ c abc ab
d ab ab
e abc abc
DROP TABLE t1;
create table t1 (a int not null primary key, b int not null) engine=ndb;
create table t2 (a int not null primary key, b int not null) engine=ndb;
insert into t1 values (1,10), (2,20), (3,30);
insert into t2 values (1,10), (2,20), (3,30);
select * from t1 order by a;
a b
1 10
2 20
3 30
delete from t1 where a > 0 order by a desc limit 1;
select * from t1 order by a;
a b
1 10
2 20
delete from t1,t2 using t1,t2 where t1.a = t2.a;
select * from t2 order by a;
a b
3 30
drop table t1,t2;
create table t1 (a int not null primary key, b int not null) engine=ndb;
insert into t1 values (1,10), (2,20), (3,30);
insert into t1 set a=1, b=100;
ERROR 23000: Duplicate entry '1' for key 1
insert ignore into t1 set a=1, b=100;
select * from t1 order by a;
a b
1 10
2 20
3 30
insert into t1 set a=1, b=1000 on duplicate key update b=b+1;
select * from t1 order by a;
a b
1 11
2 20
3 30
drop table t1;
create table t1 (a int not null primary key, b int not null) engine=ndb;
create table t2 (c int not null primary key, d int not null) engine=ndb;
insert into t1 values (1,10), (2,10), (3,30), (4, 30);
insert into t2 values (1,10), (2,10), (3,30), (4, 30);
update t1 set a = 1 where a = 3;
ERROR 23000: Duplicate entry '1' for key 1
select * from t1 order by a;
a b
1 10
2 10
3 30
4 30
update t1 set b = 1 where a > 1 order by a desc limit 1;
select * from t1 order by a;
a b
1 10
2 10
3 30
4 1
update t1,t2 set a = 1, c = 1 where a = 3 and c = 3;
ERROR 23000: Duplicate entry '1' for key 1
select * from t1 order by a;
a b
1 10
2 10
3 30
4 1
update ignore t1,t2 set a = 1, c = 1 where a = 3 and c = 3;
select * from t1 order by a;
a b
1 10
2 10
3 30
4 1
drop table t1,t2;
End of 5.0 tests