My Project
|
A facade to the functionality of the Event Scheduler. More...
#include <events.h>
Public Types | |
enum | enum_opt_event_scheduler { EVENTS_OFF, EVENTS_ON, EVENTS_DISABLED } |
Static Public Member Functions | |
static bool | check_if_system_tables_error () |
static bool | start (int *err_no) |
static bool | stop () |
static Event_db_repository * | get_db_repository () |
static bool | init (my_bool opt_noacl) |
static void | deinit () |
static void | init_mutexes () |
static void | destroy_mutexes () |
static bool | create_event (THD *thd, Event_parse_data *parse_data, bool if_exists) |
static bool | update_event (THD *thd, Event_parse_data *parse_data, LEX_STRING *new_dbname, LEX_STRING *new_name) |
static bool | drop_event (THD *thd, LEX_STRING dbname, LEX_STRING name, bool if_exists) |
static void | drop_schema_events (THD *thd, char *db) |
static bool | show_create_event (THD *thd, LEX_STRING dbname, LEX_STRING name) |
static int | reconstruct_interval_expression (String *buf, interval_type interval, longlong expression) |
static int | fill_schema_events (THD *thd, TABLE_LIST *tables, Item *) |
static void | dump_internal_status () |
Static Public Attributes | |
static ulong | opt_event_scheduler = Events::EVENTS_OFF |
A facade to the functionality of the Event Scheduler.
Every public operation against the scheduler has to be executed via the interface provided by a static method of this class. No instance of this class is ever created and it has no non-static data members.
The life cycle of the Events module is the following:
At server start up: init_mutexes() -> init() When the server is running: create_event(), drop_event(), start_or_stop_event_scheduler(), etc At shutdown: deinit(), destroy_mutexes().
The peculiar initialization and shutdown cycle is an adaptation to the outside server startup/shutdown framework and mimics the rest of MySQL subsystems (ACL, time zone tables, etc).