diff options
author | unknown <andrey@lmy004.> | 2006-05-29 10:39:45 +0200 |
---|---|---|
committer | unknown <andrey@lmy004.> | 2006-05-29 10:39:45 +0200 |
commit | bdda01167579c5b846524d595b35027522d0f1ff (patch) | |
tree | b5f8f9d86c6ec5a1912796534ba3ae361f6f2d8b /sql/event_timed.cc | |
parent | c4c26017c95ad50024c249168a803f6b6940e23b (diff) | |
download | mariadb-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.cc | 9 |
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]); |