summaryrefslogtreecommitdiff
path: root/sql/event_timed.cc
diff options
context:
space:
mode:
authorunknown <andrey@lmy004.>2006-02-21 00:01:39 +0100
committerunknown <andrey@lmy004.>2006-02-21 00:01:39 +0100
commite41f5cc46463986e2b816c1b9f860a5a9b2f94a7 (patch)
treef9a0d80a642c465c507f2bcc7473260064871933 /sql/event_timed.cc
parentb36730953c2d35e1bbd1fb5e3636f9df03c57288 (diff)
parent203b37effe5dd08e8dfe2499cb672c2fb9702097 (diff)
downloadmariadb-git-e41f5cc46463986e2b816c1b9f860a5a9b2f94a7.tar.gz
manual merge
sql/event.cc: Auto merged sql/event.h: Auto merged sql/sql_show.cc: Auto merged
Diffstat (limited to 'sql/event_timed.cc')
-rw-r--r--sql/event_timed.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/sql/event_timed.cc b/sql/event_timed.cc
index 47e82d555ab..ae5f21d99f5 100644
--- a/sql/event_timed.cc
+++ b/sql/event_timed.cc
@@ -45,6 +45,8 @@ event_timed::init()
definer_user.str= definer_host.str= 0;
definer_user.length= definer_host.length= 0;
+ sql_mode= 0;
+
DBUG_VOID_RETURN;
}
@@ -579,6 +581,9 @@ event_timed::load_from_row(MEM_ROOT *mem_root, TABLE *table)
et->comment.length= strlen(et->comment.str);
else
et->comment.length= 0;
+
+
+ et->sql_mode= (ulong) table->field[EVEX_FIELD_SQL_MODE]->val_int();
DBUG_RETURN(0);
error:
@@ -1232,6 +1237,7 @@ event_timed::compile(THD *thd, MEM_ROOT *mem_root)
char *old_query;
uint old_query_len;
st_sp_chistics *p;
+ ulong old_sql_mode= thd->variables.sql_mode;
char create_buf[2048];
String show_create(create_buf, sizeof(create_buf), system_charset_info);
CHARSET_INFO *old_character_set_client,
@@ -1251,6 +1257,8 @@ event_timed::compile(THD *thd, MEM_ROOT *mem_root)
thd->update_charset();
DBUG_ENTER("event_timed::compile");
+ DBUG_PRINT("info",("old_sql_mode=%d new_sql_mode=%d",old_sql_mode, sql_mode));
+ thd->variables.sql_mode= this->sql_mode;
/* Change the memory root for the execution time */
if (mem_root)
{
@@ -1302,7 +1310,7 @@ event_timed::compile(THD *thd, MEM_ROOT *mem_root)
TODO: Handle sql_mode!!
*/
sphead->set_definer(definer.str, definer.length);
- sphead->set_info(0, 0, &lex.sp_chistics, 0/*sql_mode*/);
+ sphead->set_info(0, 0, &lex.sp_chistics, sql_mode);
sphead->optimize();
ret= 0;
done:
@@ -1316,6 +1324,7 @@ done:
thd->query_length= old_query_len;
thd->db= old_db;
+ thd->variables.sql_mode= old_sql_mode;
thd->variables.character_set_client= old_character_set_client;
thd->variables.character_set_results= old_character_set_results;
thd->variables.collation_connection= old_collation_connection;