summaryrefslogtreecommitdiff
path: root/sql/event_timed.cc
diff options
context:
space:
mode:
authorunknown <andrey@lmy004.>2006-05-29 10:39:45 +0200
committerunknown <andrey@lmy004.>2006-05-29 10:39:45 +0200
commitbdda01167579c5b846524d595b35027522d0f1ff (patch)
treeb5f8f9d86c6ec5a1912796534ba3ae361f6f2d8b /sql/event_timed.cc
parentc4c26017c95ad50024c249168a803f6b6940e23b (diff)
downloadmariadb-git-bdda01167579c5b846524d595b35027522d0f1ff.tar.gz
Fix for bug #17394 - Events namespace is wrong
mysql-test/lib/init_db.sql: remove definer from PK mysql-test/r/events.result: update results mysql-test/r/system_mysql_db.result: update results mysql-test/t/events.test: remove I_S.EVENTS test and move it to events_grant.test scripts/mysql_fix_privilege_tables.sql: change table definition sql/event.cc: make events non-user specific (namespace change) sql/event.h: make events non-user specific (namespace change) sql/event_priv.h: make events non-user specific (namespace change) sql/event_scheduler.cc: make events non-user specific (namespace change) sql/event_timed.cc: make events non-user specific (namespace change) sql/sql_parse.cc: make events non-user specific (namespace change) sql/sql_show.cc: SHOW EVENTS is available to everyone who has EVENT on specific schema. No additional privileges are needed to see others' events. - user A has events in db1 and db2 - user B has events in db1 and db3 A will see all his events from db1 and db2 as well as B's events from db1 but not from db3. B will see her events from db1 and db3. In addition B will see only A's events from db1 but not db2.
Diffstat (limited to 'sql/event_timed.cc')
-rw-r--r--sql/event_timed.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/sql/event_timed.cc b/sql/event_timed.cc
index fd85f5ebecc..9edf51e20cb 100644
--- a/sql/event_timed.cc
+++ b/sql/event_timed.cc
@@ -961,7 +961,7 @@ Event_timed::compute_next_execution_time()
}
goto ret;
}
- current_thd->end_time();
+
my_tz_UTC->gmt_sec_to_TIME(&time_now, current_thd->query_start());
DBUG_PRINT("info",("NOW=[%llu]", TIME_to_ulonglong_datetime(&time_now)));
@@ -975,6 +975,7 @@ Event_timed::compute_next_execution_time()
execute_at_null= TRUE;
if (on_completion == Event_timed::ON_COMPLETION_DROP)
dropped= true;
+ DBUG_PRINT("info", ("Dropped=%d", dropped));
status= Event_timed::DISABLED;
status_changed= true;
@@ -1225,7 +1226,7 @@ Event_timed::update_fields(THD *thd)
{
TABLE *table;
Open_tables_state backup;
- int ret= 0;
+ int ret;
DBUG_ENTER("Event_timed::update_time_fields");
@@ -1233,7 +1234,7 @@ Event_timed::update_fields(THD *thd)
/* No need to update if nothing has changed */
if (!(status_changed || last_executed_changed))
- goto done;
+ DBUG_RETURN(0);
thd->reset_n_backup_open_tables_state(&backup);
@@ -1244,7 +1245,7 @@ Event_timed::update_fields(THD *thd)
}
- if ((ret= evex_db_find_event_by_name(thd, dbname, name, definer, table)))
+ if ((ret= evex_db_find_event_by_name(thd, dbname, name, table)))
goto done;
store_record(table,record[1]);