summaryrefslogtreecommitdiff
path: root/sql/sp_head.cc
diff options
context:
space:
mode:
authorunknown <malff/marcsql@weblab.(none)>2006-10-19 11:39:51 -0700
committerunknown <malff/marcsql@weblab.(none)>2006-10-19 11:39:51 -0700
commit5bd58f3e00ad7e7430c8d728f94209dce4c1a4e4 (patch)
tree997ff98a25d591733b1ee8e0a441ad58f17eaaaa /sql/sp_head.cc
parentde304106ca659f3d74c75e75ee02bc01d7d5d0a1 (diff)
downloadmariadb-git-5bd58f3e00ad7e7430c8d728f94209dce4c1a4e4.tar.gz
Bug#20028 (Function with select return no data)
This patch reverts a change introduced by Bug 6951, which incorrectly set thd->abort_on_warning for stored procedures. As per internal discussions about the SQL_MODE=TRADITIONAL, the correct behavior is to *not* abort on warnings even inside an INSERT/UPDATE trigger. Tests for Stored Procedures, Stored Functions, Triggers involving SQL_MODE have been included or revised, to reflect the intended behavior. (reposting approved patch, to work around source control issues, no review needed) mysql-test/include/sp-vars.inc: Tests for SQL_MODE='TRADITIONAL' mysql-test/r/sp-vars.result: Tests for SQL_MODE='TRADITIONAL' mysql-test/r/sp.result: Tests for SQL_MODE='TRADITIONAL' mysql-test/r/trigger.result: Tests for SQL_MODE='TRADITIONAL' mysql-test/t/sp-vars.test: Tests for SQL_MODE='TRADITIONAL' mysql-test/t/sp.test: Tests for SQL_MODE='TRADITIONAL' mysql-test/t/trigger.test: Tests for SQL_MODE='TRADITIONAL' sql/sp_head.cc: For SQL_MODE='TRADITIONAL', thd->abort_on_warning should be set only when assigning a *column*
Diffstat (limited to 'sql/sp_head.cc')
-rw-r--r--sql/sp_head.cc3
1 files changed, 1 insertions, 2 deletions
diff --git a/sql/sp_head.cc b/sql/sp_head.cc
index 9761de625be..a06bfe28a6f 100644
--- a/sql/sp_head.cc
+++ b/sql/sp_head.cc
@@ -991,8 +991,7 @@ sp_head::execute(THD *thd)
save_sql_mode= thd->variables.sql_mode;
thd->variables.sql_mode= m_sql_mode;
save_abort_on_warning= thd->abort_on_warning;
- thd->abort_on_warning=
- (m_sql_mode & (MODE_STRICT_TRANS_TABLES | MODE_STRICT_ALL_TABLES));
+ thd->abort_on_warning= 0;
/*
It is also more efficient to save/restore current thd->lex once when