Commit graph

75 commits

Author SHA1 Message Date
andrey@lmy004.
c9309583ee local variable interval to interval_tmp because it hides
Event_timed::interval
2006-05-29 13:12:34 +02:00
andrey@lmy004.
b4752351f2 Fix for bug #17394 - Events namespace is wrong 2006-05-29 10:39:45 +02:00
andrey@lmy004.
ec0e9d5977 fix win32 build after push for bug#17619 2006-05-23 00:19:02 +02:00
andrey@lmy004.
b429d73d62 fix for bug #17619 Scheduler race conditions
- Scheduler is either initialized at server start or never.
  Starting & stopping is now suspending & resuming.
- The scheduler has clear OO interface
- Now all calls to the scheduler are synchronous
- GLOBAL event_scheduler uses thd::sys_var_tmp (see set_var.cc)
- External API is encapsulated into class Events
- Includes fixes for all comments of Kostja's review of 19.05.2005

Starting to merge into 5.1-release (5.1.10) and push
2006-05-22 20:46:13 +02:00
monty@mysql.com
c10f37673c Fixed compiler warnings
Move plugin declarations after system functions have been checked
(Fixes problem with ndb_config failing becasue SHM is not declared)
Fixed some memory leaks
2006-05-04 19:39:47 +03:00
cmiller@zippy.(none)
a5789854ee Added code to remove closing comment code from event text, as would be
supplied inside a  /*!VERSION event-text */  segment.  (Fixes Bug#18078
2006-05-03 09:55:34 -04:00
andrey@lmy004.
48027b2dbc fix for bug #19170 (Event creation leads to 100% CPU usage) 2006-04-18 22:21:43 +03:00
andrey@lmy004.
7bd09ac24d manual merge 2006-04-07 09:18:29 +02:00
andrey@lmy004.
36cfa4dfa1 fix for bug #17494 (The algorithm for calculating execution times is not fully correct)
This also should fix 17493 and 17346, and probably 16397 (not tested).
WL#1034 (Internal CRON)
(post-review commit)
2006-04-07 09:08:58 +02:00
andrey@lmy004.
a1d87d6a0d manual merge 2006-03-17 09:40:48 +01:00
andrey@lmy004.
23888ae52c fix for bug 16408 (Events: crash for an event in a procedure)
(one patch)
2006-03-16 13:14:40 +01:00
cmiller@calliope.local
34a74d65ba Merge calliope.local:/Users/cmiller/work/src/mysql-5.1-new
into  calliope.local:/Users/cmiller/work/src/mysql-5.1-new__cleanup_mysqldump
2006-03-09 22:23:35 -05:00
brian@zim.(none)
469893066b Fixed portability issue in 5.1 to include parsers from other applications. 2006-03-09 17:37:59 -08:00
cmiller@calliope.local
d3c0dc0eed Added code to mysqldump to dump timed events when instructed to do so, with
the '-E' or '--events' flag.  (Closes Bug#16853 and Bug#17714.)


WARNING:

At present, these tests fail due to b*g number 18078.
2006-03-09 15:12:43 -05:00
andrey@lmy004.
3c67b8039e fix for bug #16396: Events: Distant-future dates become past dates
WL#1034 (Internal CRON)
timestamps does not support > y2038
2006-03-03 01:39:11 +01:00
andrey@lmy004.
e889e85a80 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug17494
2006-03-02 21:02:00 +01:00
andrey@lmy004.
d0b6c85411 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug16406
2006-03-02 10:03:48 +01:00
andrey@lmy004.
6e94ad1d65 fix for bug #16413 (Events: statements don't appear in the general query log)
WL#1034
2006-03-01 16:27:57 +01:00
andrey@lmy004.
a9884c4c0a fix for bug #16426
Events: Event-caused statements don't appear in the slow query log
WL#1034
2006-03-01 02:34:22 +01:00
andrey@lmy004.
fe72d66c8b fix problem
Error: Freeing unallocated data at line 900, 'sql_db.cc'
(
 DROP DATABASE frees thd->db for everything but thd->slave_thread=1
 however we are not slave thread and more bugs could appear if we 
 pretend to be, then we will be good boys and just strdup the value.
 If not DROP DATABASE then THD::~THD() will free the value.
)
2006-03-01 02:11:58 +01:00
andrey@lmy004.
8e881441a1 fix compiler warnings: precision loses, unused vars
the warnings came from MSFT compiler (output of pushbuild)
2006-02-28 20:32:37 +01:00
andrey@lmy004.
991ff4783e class event_timed -> Event_timed
fix for bug#17793 (Scheduler uses class event_timed should be Event_timed)
2006-02-28 18:33:38 +01:00
andrey@lmy004.
780d634496 fix for bug#16537
(post-review pre-push changes)
coding style (mostly trailing spaces removed)
2006-02-28 14:43:49 +01:00
andrey@lmy004.
8fe55c09db manual merge 2006-02-28 12:08:13 +01:00
andrey@lmy004.
483a6d06fa fix for bug#16537 (Events: mysql.event.starts is null)
- now when the event is created and STARTS is omitted then STARTS is implicitly
  CURRENT_TIMESTAMP
- This CS also fixed incorrect presentation of STARTS/ENDS in I_S.EVENTS
(incorporated review changes)
2006-02-28 11:43:10 +01:00
andrey@lmy004.
734bfe4759 fix for bug #16411 (Microseconds are allowed for events) 2006-02-24 14:02:26 +01:00
andrey@lmy004.
c4602da973 merge 2006-02-24 12:03:32 +01:00
andrey@lmy004.
0ba2425caf fix for bug#16407 (EVENTS: sql_mode)
post-review fixes
2006-02-21 02:40:23 +01:00
andrey@lmy004.
a1fdeb1386 manual merge 2006-02-21 00:01:39 +01:00
andrey@lmy004.
22ba4ca3a3 fix for bug#16407 (Events: Changes in sql_mode won't be taken into account)
WL#1032
sql_mode setting was disregarded during create/alter event and wasn't set during
event execution.
(post-review small fixes)
2006-02-20 23:52:22 +01:00
andrey@lmy004.
2996d95257 fix for bug #16411 Events: Microsecond intervals are allowed
WL#1034
2006-02-20 16:06:05 +01:00
andrey@lmy004.
4e4520b723 fix for bug#17543 Creating Event crash the server
this problem affects only debug builds
2006-02-16 16:11:02 +01:00
andrey@lmy004.
3c82af94e7 fix bug in show events which shows
| INTERVAL_VALUE | INTERVAL_FIELD |
| 20             | 20 MINUTE      |
the second one should be without the value
2006-02-16 13:11:16 +01:00
andrey@lmy004.
7b2650a256 small post-merge fixes for bug#16406
(pre-push)
2006-02-16 05:21:02 +01:00
andrey@lmy004.
2158add8f0 merge 2006-02-16 01:27:36 +01:00
andrey@lmy004.
d3e0875759 fix for bug#16406 (Events: DROP DATABASE doesn't automatically drop events)
WL#1034
- This changeset also changes the executor so its quite more stable now.
  Stressing test case added that executes ~800 events per second and dropping
  hundreds of events at once using DROP DATABASE.
(with fixes after review of JimW)
(with fixes after review of Serg)
2006-02-16 00:43:11 +01:00
andrey@lmy004.
00b188cc52 build fixes 2006-02-15 23:43:11 +01:00
andrey@lmy004.
a613782f96 more cosmetic before push of fix for bug#17289 2006-02-15 22:32:25 +01:00
andrey@lmy004.
189baa169b merging before test + push 2006-02-15 21:51:57 +01:00
konstantin@mysql.com
99030e3f43 Fix the coding style in a few new files. 2006-02-15 21:08:44 +03:00
andrey@lmy004.
a47a706d1f Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug17289
2006-02-14 19:44:10 +01:00
andrey@lmy004.
d5d11a9c23 manual merge 2006-02-14 17:05:36 +01:00
andrey@lmy004.
815927e590 - final fixes for bug#16431 (Events: An event which alters itself disappears)
- fix for bug#16423 (Events: SHOW CREATE EVENT doesn't work)
- this Changeset commits makes CREATE/UPDATE/DELETE EVENT real DDL statements
  by committing the currently open transaction before they are executed.
- this Changeset also fixes a trailing space problem since the very early days
  of the internal cron
- adds sophisticated checking of whether mysql.event was tampered accidentally
  or with purpose by an user.
- adds a lot of inline function documentation - documents everything left
  uncodumented
- INTERVAL_XXXX to XXX in I_S.EVENTS.INTERVAL_FIELD

WL#1034 (Internal CRON)
2006-02-14 16:20:48 +01:00
andrey@lmy004.
3e89e1ccb2 fix for bug #17289 Events: missing privilege check for drop database
Events were executed with all privileges possible on planet Earth :(
WL#1034
2006-02-10 15:02:57 +01:00
andrey@lmy004.
64c34f101f Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-events_i_s
2006-02-07 19:37:26 +01:00
andrey@lmy004.
4ba2a3322b - fix for bug #16414 (Events: Crash or hang if event drops itself)
WL#1034 (Internal CRON)
(with post-review fix)
2006-02-07 19:28:33 +01:00
knielsen@mysql.com
56d44ff1f9 Merge mysql.com:/usr/local/mysql/mysql-5.1-win-fixes
into  mysql.com:/usr/local/mysql/x/mysql-5.1-new
2006-01-30 17:57:20 +01:00
andrey@lmy004.
08892be32d post-merge fixes of fix for bug#16642 (No I_S.EVENTS table)
WL#1034 (Internal CRON)
2006-01-30 17:12:30 +01:00
andrey@lmy004.
9d7d8767dd post-commit merge 2006-01-30 14:28:48 +01:00
andrey@lmy004.
d847ac54ca fix for bug#16642 (Events: No INFORMATION_SCHEMA.EVENTS table)
post-review change - use pointer instead of copy on the stack.
WL#1034 (Internal CRON)
 This patch adds INFORMATION_SCHEMA.EVENTS table with the following format:
  EVENT_CATALOG  - MYSQL_TYPE_STRING  (Always NULL)
  EVENT_SCHEMA   - MYSQL_TYPE_STRING  (the database)
  EVENT_NAME     - MYSQL_TYPE_STRING  (the name)
  DEFINER        - MYSQL_TYPE_STRING  (user@host)
  EVENT_BODY     - MYSQL_TYPE_STRING  (the body from mysql.event)
  EVENT_TYPE     - MYSQL_TYPE_STRING  ("ONE TIME" | "RECURRING")
  EXECUTE_AT     - MYSQL_TYPE_TIMESTAMP (set for "ONE TIME" otherwise NULL)
  INTERVAL_VALUE - MYSQL_TYPE_LONG    (set for RECURRING otherwise NULL)
  INTERVAL_FIELD - MYSQL_TYPE_STRING  (set for RECURRING otherwise NULL)
  SQL_MODE       - MYSQL_TYPE_STRING  (for now NULL)
  STARTS         - MYSQL_TYPE_TIMESTAMP (starts from mysql.event)
  ENDS           - MYSQL_TYPE_TIMESTAMP (ends from mysql.event)
  STATUS         - MYSQL_TYPE_STRING  (ENABLED | DISABLED)
  ON_COMPLETION  - MYSQL_TYPE_STRING  (NOT PRESERVE | PRESERVE)
  CREATED        - MYSQL_TYPE_TIMESTAMP
  LAST_ALTERED   - MYSQL_TYPE_TIMESTAMP
  LAST_EXECUTED  - MYSQL_TYPE_TIMESTAMP
  EVENT_COMMENT  - MYSQL_TYPE_STRING

  SQL_MODE is NULL for now, because the value is still not stored in mysql.event .
Support will be added as a fix for another bug.

 This patch also adds SHOW [FULL] EVENTS [FROM db] [LIKE pattern]
1. SHOW EVENTS shows always only the events on the same user,
   because the PK of mysql.event is (definer, db, name) several 
   users may have event with the same name -> no information disclosure.
2. SHOW FULL EVENTS - shows the events (in the current db as SHOW EVENTS)
   of all users. The user has to have PROCESS privilege, if not then
   SHOW FULL EVENTS behave like SHOW EVENTS.
3. If [FROM db] is specified then this db is considered.
4. Event names can be filtered with LIKE pattern.
  SHOW EVENTS returns table with the following columns, which are subset of
  the data which is returned by SELECT * FROM I_S.EVENTS
   Db
   Name
   Definer 
   Type
   Execute at
   Interval value
   Interval field 
   Starts 
   Ends
   Status
2006-01-30 13:15:23 +01:00