summaryrefslogtreecommitdiff
path: root/sql/events.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/events.cc')
-rw-r--r--sql/events.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/sql/events.cc b/sql/events.cc
index f73dc97e7c2..88014ee34af 100644
--- a/sql/events.cc
+++ b/sql/events.cc
@@ -326,7 +326,8 @@ Events::create_event(THD *thd, Event_parse_data *parse_data, bool if_not_exists)
pthread_mutex_lock(&LOCK_event_metadata);
/* On error conditions my_error() is called so no need to handle here */
- if (!(ret= db_repository->create_event(thd, parse_data, if_not_exists)))
+ if (!(ret= db_repository->create_event(thd, parse_data, if_not_exists)) &&
+ !parse_data->do_not_create)
{
Event_queue_element *new_element;
@@ -527,6 +528,10 @@ Events::show_create_event(THD *thd, LEX_STRING dbname, LEX_STRING name)
field_list.push_back(new Item_empty_string("sql_mode", sql_mode_len));
+ const String *tz_name= et->time_zone->get_name();
+ field_list.push_back(new Item_empty_string("time_zone",
+ tz_name->length()));
+
field_list.push_back(new Item_empty_string("Create Event",
show_str.length()));
@@ -539,6 +544,8 @@ Events::show_create_event(THD *thd, LEX_STRING dbname, LEX_STRING name)
protocol->store((char*) sql_mode_str, sql_mode_len, scs);
+ protocol->store((char*) tz_name->ptr(), tz_name->length(), scs);
+
protocol->store(show_str.c_ptr(), show_str.length(), scs);
ret= protocol->write();
send_eof(thd);
@@ -942,7 +949,7 @@ Events::load_events_from_db(THD *thd)
}
DBUG_PRINT("info", ("Loading event from row."));
- if ((ret= et->load_from_row(table)))
+ if ((ret= et->load_from_row(thd, table)))
{
sql_print_error("SCHEDULER: Error while loading from mysql.event. "
"Table probably corrupted");
@@ -967,7 +974,7 @@ Events::load_events_from_db(THD *thd)
Event_job_data temp_job_data;
DBUG_PRINT("info", ("Event %s loaded from row. ", et->name.str));
- temp_job_data.load_from_row(table);
+ temp_job_data.load_from_row(thd, table);
/*
We load only on scheduler root just to check whether the body