diff options
author | unknown <andrey@lmy004.> | 2006-06-08 23:07:11 +0200 |
---|---|---|
committer | unknown <andrey@lmy004.> | 2006-06-08 23:07:11 +0200 |
commit | c911d2b96e13ebe75662c3b33acb72cad5801aec (patch) | |
tree | 2e3f4a442820fb0bbe2874da5d578c0d8764ca06 /sql/events.h | |
parent | 3f44c6a3e52ea9c53bd134eb0c28da8341c00014 (diff) | |
download | mariadb-git-c911d2b96e13ebe75662c3b33acb72cad5801aec.tar.gz |
Reorganize, physically the events code
Unify method naming -> create/update/drop_event
Move class Event_timed to event_timed.h
class Events is in events.h (renamed from event.h)
The implementation is in events.cc (renamed from event.h)
BitKeeper/deleted/.del-event_executor.cc~f4a4645b973838ab:
Delete: sql/event_executor.cc
include/my_time.h:
add a boundary
libmysqld/CMakeLists.txt:
event.cc -> events.cc
libmysqld/Makefile.am:
event.cc -> event.cc
sql/CMakeLists.txt:
event.cc -> events.cc
sql/Makefile.am:
event.cc -> events.cc
event_priv.h -> events_priv.h
sql/event_scheduler.cc:
event.h -> events.h
add_event -> create_event
replace_event -> update_event()
event_timed_compare_q is only used in event_scheduler.cc , so moving it
from event.cc and making it static
sql/event_scheduler.h:
add_event -> create_event
replace_event -> update_event
sql/event_timed.cc:
moved extern interval_type_to_name to mysql_priv.h
sql/mysql_priv.h:
moved my_time_compare to time.cc
sql/mysqld.cc:
event.h -> events.h
sql/sql_db.cc:
event.h -> events.h
sql/sql_parse.cc:
event.h -> events.h
class Event_timed moved to event_timed.h
sql/sql_show.cc:
event.h -> events.h
class Event_timed moved to event_timed.h
sql/sql_yacc.yy:
event.h -> events.h
class Event_timed moved to event_timed.h
sql/events.cc:
add_event -> create_event
replace_event -> update_event
event_timed_compare_q moved to event_scheduler.cc
sql/events.h:
class Event_timed moved to event_timed.h
sql/events_priv.h:
my_time_compare moved to mysql_priv.h
event_timed_compare_q is static in event_scheduler.cc
sql/time.cc:
moved interval_type_to_name from event.cc to here.
BitKeeper/etc/ignore:
Added libmysqld/events.cc to the ignore list
Diffstat (limited to 'sql/events.h')
-rw-r--r-- | sql/events.h | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/sql/events.h b/sql/events.h new file mode 100644 index 00000000000..66cce6e7777 --- /dev/null +++ b/sql/events.h @@ -0,0 +1,97 @@ +#ifndef _EVENT_H_ +#define _EVENT_H_ +/* Copyright (C) 2004-2006 MySQL AB + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + + +class Event_timed; + +class Events +{ +public: + static ulong opt_event_scheduler; + static TYPELIB opt_typelib; + + enum enum_table_field + { + FIELD_DB = 0, + FIELD_NAME, + FIELD_BODY, + FIELD_DEFINER, + FIELD_EXECUTE_AT, + FIELD_INTERVAL_EXPR, + FIELD_TRANSIENT_INTERVAL, + FIELD_CREATED, + FIELD_MODIFIED, + FIELD_LAST_EXECUTED, + FIELD_STARTS, + FIELD_ENDS, + FIELD_STATUS, + FIELD_ON_COMPLETION, + FIELD_SQL_MODE, + FIELD_COMMENT, + FIELD_COUNT /* a cool trick to count the number of fields :) */ + }; + + static int + create_event(THD *thd, Event_timed *et, uint create_options, + uint *rows_affected); + + static int + update_event(THD *thd, Event_timed *et, sp_name *new_name, + uint *rows_affected); + + static int + drop_event(THD *thd, Event_timed *et, bool drop_if_exists, + uint *rows_affected); + + static int + open_event_table(THD *thd, enum thr_lock_type lock_type, TABLE **table); + + static int + show_create_event(THD *thd, sp_name *spn); + + static int + reconstruct_interval_expression(String *buf, interval_type interval, + longlong expression); + + static int + drop_schema_events(THD *thd, char *db); + + static int + dump_internal_status(THD *thd); + + static int + init(); + + static void + shutdown(); + + static void + init_mutexes(); + + static void + destroy_mutexes(); + + +private: + /* Prevent use of these */ + Events(const Events &); + void operator=(Events &); +}; + + +#endif /* _EVENT_H_ */ |