Commit 14deb963 authored by unknown's avatar unknown
Browse files

Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1

into moonbone.local:/work/13180-bug-4.1-mysql

parents a808e97d 1b02a815
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -251,3 +251,15 @@ f1 f2
1	1
2	2
drop table t1,t2;
create table t1(f1 int);
select DATABASE();
DATABASE()
test
update t1 set f1=1 where count(*)=1;
ERROR HY000: Invalid use of group function
select DATABASE();
DATABASE()
test
delete from t1 where count(*)=1;
ERROR HY000: Invalid use of group function
drop table t1;
+12 −0
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -160,6 +160,7 @@ void lex_start(THD *thd, uchar *buf,uint length)
  lex->duplicates= DUP_ERROR;
  lex->ignore= 0;
  lex->proc_list.first= 0;
  thd->allow_sum_func= 0;
}

void lex_end(LEX *lex)
+1 −0
Original line number Diff line number Diff line
@@ -1738,6 +1738,7 @@ static void reset_stmt_for_execute(Prepared_statement *stmt)
  lex->current_select= &lex->select_lex;
  if (lex->result)
    lex->result->cleanup();
  thd->allow_sum_func= 0;
}