summaryrefslogtreecommitdiff
path: root/mysql-test/t/update.test
diff options
context:
space:
mode:
authorunknown <evgen@moonbone.local>2005-09-22 01:38:39 +0400
committerunknown <evgen@moonbone.local>2005-09-22 01:38:39 +0400
commit1b02a815dde1379635fb1c76065fc056c084705a (patch)
tree855aa772951e6545174d3ef67ecc3d5d677db4ee /mysql-test/t/update.test
parent2a5505c7f6e0e41dfe0d85c2d9dd2f5e6eebf222 (diff)
downloadmariadb-git-1b02a815dde1379635fb1c76065fc056c084705a.tar.gz
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(). sql/sql_lex.cc: Fix bug#13180 thd->allow_sum_func wasn't reset obefore query processing. thd->allow_sum_func is set to 0 in lex_start(). sql/sql_prepare.cc: Fix bug#13180 thd->allow_sum_func wasn't reset obefore query processing. thd->allow_sum_func is set to 0 in reset_stmt_for_execute(). mysql-test/t/update.test: Test case for bug#13180 thd->allow_sum_funcs wasn't reset before query processing. mysql-test/r/update.result: Test case for bug#13180 thd->allow_sum_funcs wasn't reset before query processing.
Diffstat (limited to 'mysql-test/t/update.test')
-rw-r--r--mysql-test/t/update.test12
1 files changed, 12 insertions, 0 deletions
diff --git a/mysql-test/t/update.test b/mysql-test/t/update.test
index e4e751862f1..84e9ced2017 100644
--- a/mysql-test/t/update.test
+++ b/mysql-test/t/update.test
@@ -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