Cut Nr. 8.
All tests pass.
Separated Event_scheduler into Event_queue and Event_scheduler.
Added new Event_scheduler_ng which is the new scheduler and is used
system-wide. Will be moved to the event_scheduler.cc in the future.
Using Event_timed in Event_queue as well as cloned during execution.
Next step is to have Event_worker_data which will be used during execution
and will take ::compile()/::execute() out of Event_timed.
mysql-test/r/events.result:
update result
mysql-test/r/events_bugs.result:
update result
mysql-test/r/ps_1general.result:
update result
mysql-test/r/skip_name_resolve.result:
update result
mysql-test/r/sp-threads.result:
update result
mysql-test/r/sp_notembedded.result:
update result
mysql-test/r/status.result:
update result
mysql-test/t/events_stress.test:
Make event_stress a bit longer
sql/Makefile.am:
Add new event_scheduler_ng.h/cc . These are only to be in the experimental
clone. Later their content will be moved to event_scheduler.h/cc
sql/event_data_objects.cc:
Allocate strings memory on own memory root, instead
on the schedulers. Thus don't "leak" memory. This should
fix bug#18683 memory leak in event scheduler
sql/event_data_objects.h:
add mem_root
add THD - this is only temporal, will be moved to class Event_job_data
once Event_job_data is responsible for the execution.
sql/event_db_repository.cc:
Remove unused code.
Cosmetic changes
sql/event_queue.cc:
Now use the Event_scheduler_ng (NextGen)
sql/event_queue.h:
Now use the Event_scheduler_ng (NextGen)
sql/event_scheduler.cc:
This file is no more used, but will be soon.
sql/event_scheduler.h:
This file is no more used but will be soon
sql/events.cc:
Now use the Event_scheduler_ng (NextGen)
sql/events.h:
Now use the Event_scheduler_ng (NextGen)
sql/mysqld.cc:
Make it again possible to kill the scheduler thread
sql/set_var.cc:
Now use the Event_scheduler_ng (NextGen)
sql/share/errmsg.txt:
Shorten the message.
sql/sql_show.cc:
Loading is on a own root, then don't use thd->mem_root
This is the first cut of separating Event_scheduler in two
classes which are more specialized.
Inheritance was used to separate methods and member variables.
Still Event_scheduler is a child of Event_queue. This dependency
will be removed soon.
sql/event_data_objects.cc:
add comments
sql/event_db_repository.cc:
coding style
sql/event_db_repository.h:
add a call, will be implemented later
sql/event_queue.cc:
Event_queue, still as super-class of Event_scheduler
sql/event_queue.h:
Event_queue as super-class of Event_scheduler. Trying to
separate the two classes
sql/event_scheduler.cc:
Event_scheduler as child class of Event_queue.
Trying to separate both classes.
sql/event_scheduler.h:
Event_scheduler as child class of Event_queue.
Trying to separate both classes.
sql/events.cc:
Don't allocate on the stack the scheduler but on the heap.
The exact way it is done will be changed, that's ok for now.
Infrastructure built. Added the foreseen files and change Makefile.am/CMakeLists.txt
accordingly.
libmysqld/Makefile.am:
add new files. this is first cut of WL3337u
sql/CMakeLists.txt:
add more files to build
sql/Makefile.am:
add new files. this is first cut of WL3337
sql/event_scheduler.cc:
event_timed.h -> event_data_objects.h (WL#3337)
sql/events.cc:
event_timed.h -> event_data_objects.h (WL#3337)
sql/share/errmsg.txt:
new error message
sql/event_data_objects.cc:
event_timed.h -> event_data_objects.h (WL#3337)
sql/event_data_objects.h:
event_timed.h -> event_data_objects.h (WL#3337)
sql/sql_parse.cc:
event_timed.h -> event_data_objects.h (WL#3337)
sql/sql_show.cc:
event_timed.h -> event_data_objects.h (WL#3337)
sql/sql_yacc.yy:
event_timed.h -> event_data_objects.h (WL#3337)