diff options
Diffstat (limited to 'sql/event_queue.h')
-rw-r--r-- | sql/event_queue.h | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/sql/event_queue.h b/sql/event_queue.h index 8c11d7a2042..1335100be21 100644 --- a/sql/event_queue.h +++ b/sql/event_queue.h @@ -19,22 +19,23 @@ class sp_name; class Event_timed; class Event_db_repository; +class Event_job_data; class THD; typedef bool * (*event_timed_identifier_comparator)(Event_timed*, Event_timed*); -class Event_scheduler; +class Event_scheduler_ng; class Event_queue { public: Event_queue(); - static void + void init_mutexes(); - static void - destroy_mutexes(); + void + deinit_mutexes(); bool init(Event_db_repository *db_repo); @@ -76,6 +77,18 @@ public: void empty_queue(); + Event_timed * + get_top_for_execution_if_time(THD *thd, time_t now, struct timespec *abstime); + + Event_timed* + get_top(); + + void + remove_top(); + + void + top_changed(); + ///////////////protected Event_timed * find_event(LEX_STRING db, LEX_STRING name, bool remove_from_q); @@ -92,9 +105,6 @@ public: Event_db_repository *db_repository; - /* The MEM_ROOT of the object */ - MEM_ROOT scheduler_root; - /* The sorted queue with the Event_timed objects */ QUEUE queue; @@ -111,11 +121,11 @@ public: void unlock_data(const char *func, uint line); - static void + void on_queue_change(); + + Event_scheduler_ng *scheduler; protected: - /* Singleton instance */ - static Event_scheduler *singleton; }; |