summaryrefslogtreecommitdiff
path: root/sql/sp.cc
diff options
context:
space:
mode:
authorunknown <Dao-Gang.Qu@sun.com>2010-01-25 10:55:05 +0800
committerunknown <Dao-Gang.Qu@sun.com>2010-01-25 10:55:05 +0800
commitdad4291b781495cfdc8abac9dc2902621bfb3b56 (patch)
tree79b80f370265c5019547a5ef30b218665a358d84 /sql/sp.cc
parent3cae7d1187795a8089b6f54ac60cf2a0e579cf89 (diff)
parent2b16517522afad76bc94b07bdaa8af64091e713b (diff)
downloadmariadb-git-dad4291b781495cfdc8abac9dc2902621bfb3b56.tar.gz
Manual merge with Conflicts:
sql_udf.cc
Diffstat (limited to 'sql/sp.cc')
-rw-r--r--sql/sp.cc13
1 files changed, 8 insertions, 5 deletions
diff --git a/sql/sp.cc b/sql/sp.cc
index ff76dbf7921..f0508142557 100644
--- a/sql/sp.cc
+++ b/sql/sp.cc
@@ -1108,9 +1108,10 @@ sp_create_routine(THD *thd, int type, sp_head *sp)
/* restore sql_mode when binloging */
thd->variables.sql_mode= saved_mode;
/* Such a statement can always go directly to binlog, no trans cache */
- thd->binlog_query(THD::MYSQL_QUERY_TYPE,
- log_query.c_ptr(), log_query.length(),
- FALSE, FALSE, 0);
+ if (thd->binlog_query(THD::MYSQL_QUERY_TYPE,
+ log_query.c_ptr(), log_query.length(),
+ FALSE, FALSE, 0))
+ ret= SP_INTERNAL_ERROR;
thd->variables.sql_mode= 0;
}
@@ -1173,7 +1174,8 @@ sp_drop_routine(THD *thd, int type, sp_name *name)
if (ret == SP_OK)
{
- write_bin_log(thd, TRUE, thd->query(), thd->query_length());
+ if (write_bin_log(thd, TRUE, thd->query(), thd->query_length()))
+ ret= SP_INTERNAL_ERROR;
sp_cache_invalidate();
}
@@ -1247,7 +1249,8 @@ sp_update_routine(THD *thd, int type, sp_name *name, st_sp_chistics *chistics)
if (ret == SP_OK)
{
- write_bin_log(thd, TRUE, thd->query(), thd->query_length());
+ if (write_bin_log(thd, TRUE, thd->query(), thd->query_length()))
+ ret= SP_INTERNAL_ERROR;
sp_cache_invalidate();
}