MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry.
Find a file
unknown 974eecc246 WL#3337 (Event scheduler new architecture)
This patch introduces specialized Event data objects
Event_basic as parent.
Event_queue_element used for queue storage
Event_timed used for SHOW EVENTS/ I_S.EVENTS / SHOW CREATE EVENT
Event_job_data using during execution.
Methods were moved out of Event_timed to other classes.

This patch also introduces Events::LOCK_event_metadata.
This patch gives new implementation of Events::dump_internal_status().
Now both the Event_scheduler and Event_queue return information during
their ::dump_internal_status().

Shortened a bit the runtime for executing events test cases.


mysql-test/r/events.result:
  update results
mysql-test/r/events_bugs.result:
  update results
mysql-test/r/events_logs_tests.result:
  update results
mysql-test/r/events_scheduling.result:
  update results
mysql-test/t/events.test:
  update test
  make --sleep more appropriate . saving some time could mean failure on loaded boxes though :(
  add tests for previously uncovered branches.
mysql-test/t/events_bugs.test:
  update test
  make --sleep more appropriate . saving some time could mean failure on loaded boxes though :(
  add tests for previously uncovered branches.
mysql-test/t/events_logs_tests.test:
  make the test shorter by time
mysql-test/t/events_scheduling.test:
  when selecting always use ORDER BY
mysql-test/t/events_stress.test:
  sleep 2.5secs for shorter stress test
sql/event_data_objects.cc:
  Event_timed is no more used during execution.
  Event_timed is no more used during in the memory queue.
  Event_timed is only used for SHOW CREATE EVENT/ I_S.EVENTS/ SHOW EVENTS
  Event_basic is the parent of almost all Event data objects.
  Event_basic -> Event_queue_element (used for the memory queue) -> Event_timed
  Event_basic -> Event_job_data (the object used for execution)
  Sql_alloc -> Event_parse_data (used during parsing)
sql/event_data_objects.h:
  Event_timed is no more used during execution.
  Event_timed is no more used during in the memory queue.
  Event_timed is only used for SHOW CREATE EVENT/ I_S.EVENTS/ SHOW EVENTS
  Event_basic is the parent of almost all Event data objects.
  Event_basic -> Event_queue_element (used for the memory queue) -> Event_timed
  Event_basic -> Event_job_data (the object used for execution)
  Sql_alloc -> Event_parse_data (used during parsing)
sql/event_db_repository.cc:
  Cosmetics.
  load_named_event now uses Event_basic, for polymorphism
  find_event uses Event_basic, to be polymorphic.
  use Field **fields= table->field and then index fields[...]
  Add documentation.
  Fix documentation.
sql/event_db_repository.h:
  Event_db_repository depends only on Event_basic's interface
sql/event_queue.cc:
  Cosmetics.
  Don't use Event_timed for the queue and giving back object for execution.
  Event_queue_element is for the queue, Event_job_data is for execution.
  Add Event_queue::dump_internal_status() for SHOW SCHEDULER STATUS command
sql/event_queue.h:
  Cosmetics.
  Don't use Event_timed for the queue and giving back object for execution.
  Event_queue_element is for the queue, Event_job_data is for execution.
  Add Event_queue::dump_internal_status() for SHOW SCHEDULER STATUS command
sql/event_scheduler_ng.cc:
  Add back Event_scheduler::cond_wait()
  Add back Event_scheduler::dump_internal_status()
  Using Event_job_data for execution. Make the scheduler thread unkillable (thd->command= COM_DAEMON).
  Add a lot of documentation.
sql/event_scheduler_ng.h:
  Add back Event_scheduler::cond_wait()
  Add back Event_scheduler::dump_internal_status()
  Using Event_job_data for execution.
sql/events.cc:
  Documentation
  Add LOCK_event_metadata
sql/events.h:
  Change the signature of Events::drop_event() not to use sp_name but LEX_STRING
sql/share/errmsg.txt:
  Fix error message
sql/sql_parse.cc:
  Events::drop_event() has new signature
2006-07-10 13:44:43 +02:00
BitKeeper Loosen up crashed repo check a bit to allow merging 5.0 -> 5.1. 2006-06-09 08:40:21 +02:00
BUILD Merge 2006-06-20 11:11:18 +02:00
client Remove compiler warnings 2006-06-23 02:49:19 +03:00
cmd-line-utils Merge neptunus.(none):/home/msvensson/mysql/bug16557/my50-bug16557 2006-02-21 08:58:19 +01:00
config/ac-macros don't call plugins' configure scripts manually, use AC_CONFIG_SUBDIRS 2006-06-15 21:43:29 +02:00
dbug atomic ops: 2006-06-17 16:20:39 +02:00
Docs Remove old cruft from the tree: mysqltestmanager, mysql_test_run_new, 2006-04-11 18:54:24 -07:00
extra Merge mysql.com:/home/stewart/Documents/MySQL/5.0/main 2006-06-16 18:54:20 +10:00
include Merge bk-internal.mysql.com:/home/bk/mysql-5.1 2006-06-26 18:45:46 +04:00
libmysql Re-apply missing changeset, orignally pushed by elliot 2006-06-06 14:21:07 +03:00
libmysql_r Re-apply missing changeset, orignally pushed by elliot 2006-06-06 14:21:07 +03:00
libmysqld first cut of WL#3337 (New event scheduler locking infrastructure). 2006-06-27 08:48:50 +02:00
man - Removed obsolete and outdated man page files from the man 2005-10-27 14:51:58 +02:00
mysql-test WL#3337 (Event scheduler new architecture) 2006-07-10 13:44:43 +02:00
mysys Merge mysql.com:/home/emurphy/src/bk-clean/tmp_merge 2006-06-25 09:59:34 -04:00
netware Merge 2006-06-20 11:11:18 +02:00
plugin Remove compiler warnings 2006-06-23 02:49:19 +03:00
pstack Makefile.am, configure.in: 2005-09-24 15:51:45 +02:00
regex Merge mysql.com:/home/emurphy/src/bk-clean/tmp_merge 2006-06-23 17:27:54 -04:00
scripts .del-make_win_src_distribution.sh~f80d8fca44e4e5f1: 2006-06-25 10:25:00 +02:00
server-tools Merge mysql.com:/usr/local/mysql/mysql-5.1-vg-apr2 2006-06-23 15:05:15 +02:00
sql WL#3337 (Event scheduler new architecture) 2006-07-10 13:44:43 +02:00
sql-common Bug#18997: DATE_ADD and DATE_SUB perform year2K autoconversion magic on 4-digit year value 2006-05-16 03:32:24 +02:00
storage Merge bk-internal.mysql.com:/home/bk/mysql-5.1 2006-06-23 03:03:03 +03:00
strings Merge mysql.com:/opt/local/work/tmp_merge 2006-06-26 18:49:20 +04:00
support-files Merge mysql.com:/M50/bug19353-5.0 into mysql.com:/M51/bug19353-5.1 2006-06-22 12:22:52 +02:00
tests Merge mysql.com:/data0/mysqldev/my/mysql-5.0.22-release 2006-05-24 14:37:18 +02:00
unittest atomic ops: 2006-06-17 16:20:39 +02:00
vio Re-apply missing changeset, orignally pushed by elliot 2006-06-06 14:21:07 +03:00
win Fixing false alarm errors on windows build from a clean clone. 2006-06-15 22:46:52 -04:00
zlib Rename cmakelists.txt -> CMakeLists.txt 2006-05-12 10:51:07 +02:00
.bzrignore WL#3337 (Events new infrasctructure) 2006-06-27 10:53:26 +02:00
.cvsignore Import changeset 2000-07-31 21:29:14 +02:00
CMakeLists.txt performing a set of bk mv on each CMakeLists.txt file to try and restore the mixed case filenames since this seems to be required with Cmake 2.4 beta 1. 2006-05-11 11:29:08 -05:00
configure.in configure.in, net_serv.cc, compile-netware-END: 2006-06-17 00:30:02 +02:00
COPYING - manual.texi will be replaced with a manual written in DocBook/XML. This ChangeSet removes all 2005-04-13 11:51:38 +02:00
Makefile.am change test targets to be more modular. include unit tests into make test 2006-06-14 09:12:37 +02:00
README README: 2006-04-01 04:13:33 +02:00

This is a release of MySQL, a dual-license SQL database server.
MySQL is brought to you by the MySQL team at MySQL AB.

License information can be found in these files:
- For GPL (free) distributions, see the COPYING file.
- For commercial distributions, see the MySQLEULA.txt file.


For further information about MySQL or additional documentation, see:
- The latest information about MySQL: http://www.mysql.com
- The current MySQL documentation: http://dev.mysql.com/doc

Some manual sections of special interest:

- If you are migrating from an older version of MySQL, please read the
  "Upgrading from..." section first!
- To see what MySQL can do, take a look at the features section.
- For installation instructions, see the Installation chapter.
- For future plans, see the TODO appendix.
- For the new features/bugfix history, see the News appendix.
- For the currently known bugs/misfeatures (known errors) see the problems
  appendix.
- For a list of developers and other contributors, see the Credits
  appendix.

A local copy of the MySQL Reference Manual can be found in the Docs
directory in GNU Info format.  You can also browse the manual online or
download it in any of several formats at the URL given earlier in this
file.

************************************************************

IMPORTANT:

Bug or error reports should be sent to http://bugs.mysql.com.