diff options
author | unknown <andrey@example.com> | 2006-08-17 14:22:59 +0200 |
---|---|---|
committer | unknown <andrey@example.com> | 2006-08-17 14:22:59 +0200 |
commit | 99adbd131addffeb1dc95e4c5f156dc831cbd66c (patch) | |
tree | f3888db9a52ec3b4680a4f1ede56911174eda337 /sql/events.h | |
parent | e5a2cb50fa8febed0b6ecd537d3edc63d80e9dce (diff) | |
download | mariadb-git-99adbd131addffeb1dc95e4c5f156dc831cbd66c.tar.gz |
WL#3337 (Event scheduler new architecture)
Post-review fixes. Mostly whitespace, int-to-bool return value, fixed comments
sql/Makefile.am:
compile all submodules of Events before compiling the facade
sql/event_data_objects.cc:
- Use initialization list
- Clean whitespaces
- Shorten comments
- Fix comments
sql/event_data_objects.h:
- Fix whitespace
sql/event_db_repository.cc:
- Change return type from int to bool where only one error code is
returned.
- Don't use macros but get the maximal number of characters in a column
from the column
- Fix comments
- Make functions which has return value but it's not used - void.
sql/event_db_repository.h:
- Methods with only one error code int -> bool return value
- Remove declaration of fill_schema_events, a function that does not exist
sql/event_queue.cc:
- Use initialization lists
- Let find_n_remove_event delete the object thus making the code more robust.
The caller could forget to destruct the object. In addition, find_n_remove_element()
does not return a value.
- Move check_system_tables() to class Events
- Fix comments
sql/event_queue.h:
- Whitespace changes
- init_queue() should allow passing of THD
- check_system_tables moved to class Events
- find_n_remove_event() is now void
sql/event_scheduler.cc:
- Initialize res before use
- Remove end stop from message
sql/event_scheduler.h:
Add uninitialized state. The scheduler is in it before init_scheduler()
is called. The rationale is that otherwise state has no value before
the call. If the system tables were damaged the scheduler won't be initialized
but in Events::deinit() Event_scheduler::stop() will be called and this will
touch state, generating valgrind warning at minimum.
sql/events.cc:
- Whitespace changes
- Fix comments
- Make methods which have only one error code be bool instead of int
- Create temporarily a THD to be used for the initialization of Event_queue
- Event_queue::check_system_tables() moved to Events::check_system_tables
- is_started() is renamed to is_execution_of_events_started()
sql/events.h:
- Whitespace changes
- When a method returns only one error code it should be bool, not int
- is_started() renamed to is_execution_of_events_started()
sql/set_var.cc:
is_started() is renamed to is_execution_of_events_started()
sql/sql_db.cc:
The return code is not used, thus don't return anything and drop_schema_events()
is now void.
sql/sql_yacc.yy:
- Fix comments
- Remove unneeded initialization which is performed in lex_init()
sql/share/errmsg.txt:
New error message
sql/table.cc:
- Fix comments
- make table_check_intact() accespt const *table_def
sql/table.h:
Make table_check_intact() accespt const *table_def
Diffstat (limited to 'sql/events.h')
-rw-r--r-- | sql/events.h | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/sql/events.h b/sql/events.h index f14aed0fbd1..4ea91baf64c 100644 --- a/sql/events.h +++ b/sql/events.h @@ -42,59 +42,59 @@ sortcmp_lex_string(LEX_STRING s, LEX_STRING t, CHARSET_INFO *cs); class Events { public: - friend class Event_queue_element; /* Quite NOT the best practice and will be removed once Event_timed::drop() and Event_timed is fixed not do drop directly or other scheme will be found. */ + friend class Event_queue_element; static ulong opt_event_scheduler; static TYPELIB opt_typelib; bool init(); - + void deinit(); void init_mutexes(); - + void destroy_mutexes(); bool start_execution_of_events(); - + bool stop_execution_of_events(); - + bool - is_started(); + is_execution_of_events_started(); - static Events* + static Events * get_instance(); - int + bool create_event(THD *thd, Event_parse_data *parse_data, bool if_exists, uint *rows_affected); - int + bool update_event(THD *thd, Event_parse_data *parse_data, sp_name *rename_to, uint *rows_affected); - int + bool drop_event(THD *thd, LEX_STRING dbname, LEX_STRING name, bool if_exists, uint *rows_affected, bool only_from_disk); - int + void drop_schema_events(THD *thd, char *db); int open_event_table(THD *thd, enum thr_lock_type lock_type, TABLE **table); - int + bool show_create_event(THD *thd, LEX_STRING dbname, LEX_STRING name); /* Needed for both SHOW CREATE EVENT and INFORMATION_SCHEMA */ @@ -104,23 +104,28 @@ public: static int fill_schema_events(THD *thd, TABLE_LIST *tables, COND * /* cond */); - + bool dump_internal_status(THD *thd); private: + bool + check_system_tables(THD *thd); + /* Singleton DP is used */ - Events(){} + Events(); ~Events(){} /* Singleton instance */ static Events singleton; Event_queue *event_queue; - Event_scheduler *scheduler; + Event_scheduler *scheduler; Event_db_repository *db_repository; - pthread_mutex_t LOCK_event_metadata; + pthread_mutex_t LOCK_event_metadata; + + bool check_system_tables_error; /* Prevent use of these */ Events(const Events &); |