From 42a8e2c9421854710679a0f6c3ceef6c0777ded4 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 11 Jul 2006 18:28:15 +0200 Subject: WL#3337 (Event scheduler new architecture) More small fixes to the API : use LEX_STRING instead of LEX_STRING* and if error then return bool(true) instead of error code. Merged functions. Reduced usage of sp_name. Fixed a lot of function documentation errors. Added function documentation wherever needed. Removed some unused defines and error codes. Next to come is batch rename of Event_scheduler_ng to Event_scheduler. mysql-test/r/events.result: update result mysql-test/r/events_logs_tests.result: update result mysql-test/t/events.test: more test coverage mysql-test/t/events_logs_tests.test: fix test sql/event_data_objects.cc: Cosmetics. Fix function documentation whenever needed. Move Event_job_data::compile() next to Event_job_data::execute() sql/event_data_objects.h: Remove unneeded error codes and defines Move function declarations at the end of the header sql/event_db_repository.cc: Fix function documentation. Event_db_repository::update_event() now uses LEX_STRING *-s instead of sp_name . Lower coupling. sql/event_db_repository.h: Event_db_repository::update_event() now uses LEX_STRING *-s instead of sp_name . Lower coupling. find_event -> find_named_event find_event_by_name is not used externally, merge with load_named_event() sql/event_queue.cc: LEX_STRING* to LEX_STRING Fix comments. Fix and add function documentation. Remove Event_queue::events_count() as it is unused Change get_top_for_execution_if_time() to return status code as return value and the object is in out parameter. sql/event_queue.h: LEX_STRING* to LEX_STRING Fix comments. Fix and add function documentation. Remove Event_queue::events_count() as it is unused Change get_top_for_execution_if_time() to return status code as return value and the object is in out parameter. Try to detect also lock attemptions for deadlocks. sql/event_scheduler_ng.cc: Always execute on thd->mem_root Fix according to changed API of Event_queue::get_top_for_execution_if_time() sql/events.cc: Fix function documentation. Fix code after API changes of internal Event module classes. sql/events.h: sp_name -> LEX_STRINGs sql/sql_parse.cc: Fix according to changed API of Events::show_create_event() sql/sql_yacc.yy: Don't pass NULL as third parameter to sp_head::init_strings() --- sql/event_db_repository.h | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'sql/event_db_repository.h') diff --git a/sql/event_db_repository.h b/sql/event_db_repository.h index d13538ce10b..dce447a71e8 100644 --- a/sql/event_db_repository.h +++ b/sql/event_db_repository.h @@ -16,6 +16,8 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#define EVEX_OPEN_TABLE_FAILED -1 + enum enum_events_table_field { ET_FIELD_DB = 0, @@ -60,24 +62,23 @@ public: create_event(THD *thd, Event_parse_data *parse_data, my_bool create_if_not, uint *rows_affected); - int - update_event(THD *thd, Event_parse_data *parse_data, sp_name *new_name); + bool + update_event(THD *thd, Event_parse_data *parse_data, LEX_STRING *new_dbname, + LEX_STRING *new_name); - int + bool drop_event(THD *thd, LEX_STRING db, LEX_STRING name, bool drop_if_exists, uint *rows_affected); int drop_schema_events(THD *thd, LEX_STRING schema); - int - find_event(THD *thd, LEX_STRING dbname, LEX_STRING name, Event_basic *et); + bool + find_named_event(THD *thd, LEX_STRING db, LEX_STRING name, TABLE *table); - int + bool load_named_event(THD *thd, LEX_STRING dbname, LEX_STRING name, Event_basic *et); - int - find_event_by_name(THD *thd, LEX_STRING db, LEX_STRING name, TABLE *table); int open_event_table(THD *thd, enum thr_lock_type lock_type, TABLE **table); -- cgit v1.2.1