1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-31 22:22:30 +03:00

Backport Bug #45827 Stmt using two autoinc values does not produce unsafe warning

One statement that have more than one different tables to update with 
autoinc columns just was marked as unsafe in mixed mode, so the unsafe 
warning can't be produced in statement mode.
      
To fix the problem, mark the statement as unsafe in statement mode too.
This commit is contained in:
2009-11-13 16:29:35 +08:00
parent 69d6fcbd3b
commit 794ccfc378
8 changed files with 154 additions and 3 deletions

View File

@@ -456,7 +456,11 @@ return n;
end|
reset master;
insert into t2 values (bug27417(1));
Warnings:
Note 1592 Statement may not be safe to log in statement format.
insert into t2 select bug27417(2);
Warnings:
Note 1592 Statement may not be safe to log in statement format.
reset master;
insert into t2 values (bug27417(2));
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
@@ -473,6 +477,8 @@ select count(*) from t2;
count(*)
2
delete from t2 where a=bug27417(3);
Warnings:
Note 1592 Statement may not be safe to log in statement format.
select count(*) from t2 /* nothing got deleted */;
count(*)
2
@@ -485,6 +491,8 @@ select count(*) from t1 /* must be 5 */;
count(*)
5
delete t2 from t2 where t2.a=bug27417(100) /* must not affect t2 */;
Warnings:
Note 1592 Statement may not be safe to log in statement format.
affected rows: 0
select count(*) from t1 /* must be 7 */;
count(*)
@@ -700,7 +708,11 @@ return n;
end|
reset master;
insert into t2 values (bug27417(1));
Warnings:
Note 1592 Statement may not be safe to log in statement format.
insert into t2 select bug27417(2);
Warnings:
Note 1592 Statement may not be safe to log in statement format.
reset master;
insert into t2 values (bug27417(2));
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
@@ -716,6 +728,8 @@ select count(*) from t2;
count(*)
2
delete from t2 where a=bug27417(3);
Warnings:
Note 1592 Statement may not be safe to log in statement format.
select count(*) from t2 /* nothing got deleted */;
count(*)
2
@@ -727,6 +741,8 @@ select count(*) from t1 /* must be 5 */;
count(*)
5
delete t2 from t2 where t2.a=bug27417(100) /* must not affect t2 */;
Warnings:
Note 1592 Statement may not be safe to log in statement format.
affected rows: 0
select count(*) from t1 /* must be 7 */;
count(*)