mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
Fix bug #13180 thd->allow_sum_funcs wasn't reset before query processing.
thd->allow_sum_func was left 'true' after previous statement thus allowing sum funcs to be present in conditions. thd->allow_sum_func should be set to 0 for each query and each prepared statement reinitialization. This is done in lex_start() and reset_stmt_for_execute().
This commit is contained in:
@@ -215,4 +215,16 @@ UPDATE t1 SET t1.f2=(SELECT MAX(t2.f4) FROM t2 WHERE t2.f3=t1.f1);
|
||||
select * from t1;
|
||||
drop table t1,t2;
|
||||
|
||||
#
|
||||
# Bug #13180 sometimes server accepts sum func in update/delete where condition
|
||||
#
|
||||
create table t1(f1 int);
|
||||
select DATABASE();
|
||||
--error 1111
|
||||
update t1 set f1=1 where count(*)=1;
|
||||
select DATABASE();
|
||||
--error 1111
|
||||
delete from t1 where count(*)=1;
|
||||
drop table t1;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
Reference in New Issue
Block a user