- 13 Dec, 2005 2 commits
-
-
unknown authored
(cleanups, leaks fixed) sql/event.cc: - update comments - remove dead code - event_timed is no more copied after allocation on a DYNAMIC_ARRAY because there is a problem when the array is reallocated - we get dangling pointers from the scheduling queue. anyway it makes little sense to keep them there except that cleaning is quite efficient but iterating over all events and cleaning them one by one is not that bad considering that happens only when the main scheduler thread is killed or during server shutdown. sql/event_executor.cc: - DYNAMIC_ARRAY is no more sql/event_priv.h: - remove unneeded code/defines. the scheduler's queue is of type QUEUE and cannot run anymore on top of DYNAMIC_ARRAY sql/event_timed.cc: - after parsing (in ::compile() ) destruct the event_timed object sql/sql_parse.cc: in case of syntax error clean up lex->et because there could be an object created. as in the code the same is done for SPs.
-
unknown authored
cleanup before throwin away DYNAMIC_ARRAY for event storage, once reallocated I get dangling pointers so that's not good. solution will be found however ;) sql/event.cc: - remove unneeded variables - remove commented out code - remove non-cs compliant comment - fix a bug when removing from memory cache - better close the tables than relying on sql_parse.cc::do_command() to do that sql/event_executor.cc: - cleanup sql/event_priv.h: -cleanup sql/event_timed.cc: cleanup
-
- 12 Dec, 2005 1 commit
-
-
unknown authored
QUEUE implementation working now. this should be ready more or less for testing once the debug output is being cleaned and some things around DYNAMIC_ARRAY are cleaned - fix handling in case of errors that lead to crashes, now no more crashes in case of table corruption and such. include/queues.h: introduce a safe version of queue_insert that will extend the queue if necessary. the auto_extent is passed to the _ex version of init_queue() mysys/queues.c: add init_queue_ex() implementation add queue_insert_safe() implementation sql/event.cc: - move mysql_priv.h inclusion to event_priv.h - use a priority queue instead of DYNAMIC_ARRAY which is sorted sql/event.h: reorder sql/event_executor.cc: reorder sql/event_priv.h: - reorder a bit - add macroses and functions for queue manipulation which stay on top of QUEUE (partly implemented for DYNAMIC_ARRAY but will be cleared to be only for QUEUE). sql/event_timed.cc: allocate one more byte and zeroterminate, really
-
- 08 Dec, 2005 2 commits
-
-
unknown authored
- handle better non-latin1 identifiers sql/event.cc: - introduce a wrapper to compare easily and correctly LEX_STRINGs - remove few unneeded variables - remove need_second_pass by restructuring the code. this brings performance boost because the code bails out from the loop once it hits what it looks for - handle ALTER EVENT name RENAME TO name (throw an error message). sql/event_executor.cc: - comment about DBUG_FAULTY_THR - indent fix sql/event_timed.cc: - fix a problem when event name is not latin1. a cyrillic event name was crashing the parser so the I emulate SET NAMES utf8. The data is already in utf8, being loaded from the disk. sql/share/errmsg.txt: add new error message
-
unknown authored
- fix a bug introduced with last commit ALTER EVENT a RENAME TO b; failed - misc sql/event.cc: - rename evex_db_find_routine_aux() to evex_db_find_event_aux() (better name) - change parameter order of db_update_event() - last bits to handle errors as close as possible to the place they occur - fix a bug introduced with last commit: first check for overwriting and event and then check whether the original one exists sql/event.h: add a new error code returned by event_timed::compile() in case of error sql/event_priv.h: rename sql/event_timed.cc: - function rename - add a bit of doc sql/share/errmsg.txt: - extend an error message so it's more informative - add a new error message sql/sql_parse.cc: refactor the cases for CREATE/ALTER/DROP event so use as much common code as possible. last bits of error checking unneeded in sql_parse.cc thrwon out.
-
- 07 Dec, 2005 3 commits
-
-
unknown authored
(strip m_ as prefix from member variables' names) sql/event.cc: - change copyright years - remove m_ prefix from member variables (I liked m_) - reorder parameter in evex_update_event() sql/event.h: - change copyright years - remove m_ prefix from member variables - declare some member variables as private (were public) - delete 0 is valid in C++ therefore don't embrace with if() sql/event_executor.cc: - executor => scheduler in messages - fix a bug introduced in last commit -> typo in a mutex name - remove m_ prefix from member variables sql/event_priv.h: - change copyright years sql/event_timed.cc: - change copyright years - strip m_ as prefix from member variables' names sql/sql_parse.cc: - strip m_ as prefix from member variables' names sql/sql_yacc.yy: - strip m_ as prefix from member variables names
-
unknown authored
sql/event.cc: - fix TODO (remove things already done) - check the length of the event's name and body during creation and report an error if longer than what can be fit into mysql.event (nothing like non-strict mode here) - report to sql_parse.cc and error when open table failed, otherwise send_ok() was being called and the error have become an warning. - update function documentation a bit - evex_db_find_routine_aux returns 0 and not EVEX_OK sql/event_executor.cc: - CS changes to definitions of the main and worker thread routines - reorder code a bit to prevent crashes because of reading of already freed data -> first wait all events to finish their work, namely all worker threads to finish, and then destroy in-memory structures - more error checking and error reporting at the place of failure. sql/event_priv.h: code simplifying macro sql/event_timed.cc: CS cosmetics
-
unknown authored
sql/event.cc: -my_error() as close as possible to the place where the error occurs. -a thought how to replicate events -use close_thread_tables() in some cases and for others rely on this call being done in sql_parse.cc::do_command() sql/event.h: remove redundant defines sql/event_executor.cc: - reenable the compilation again - don't backup the open_tables_state, it's not needed sql/event_timed.cc: - inline a bit - comment added sql/mysqld.cc: - start mysqld with --event-scheduler=0 by default sql/share/errmsg.txt: 3 new messages sql/sql_parse.cc: remove now obsolete error checking - the errors are reported as closer as possible to the place where they are detected sql/sql_yacc.yy: add WARNING message. fix a bug that was corrupting thd->client_capabilites -> select count(*) from mysql.event was reporting : "Unknown table test.event"!!! Using temporal variable is nice but IMO quite error-prone.
-
- 06 Dec, 2005 3 commits
-
-
unknown authored
sql/sp_head.cc: revert
-
unknown authored
make more independent of SP sql/event.cc: use own routine - export it sql/event_priv.h: export these two sql/event_timed.cc: use own routine, don't rely on SP sql/sp.cc: revert changes to SP sql/sp.h: revert changes to SP sql/sql_show.cc: rever changes to SP
-
unknown authored
updated sources sql/event.cc: update put some error calls to the places they occur sql/event.h: - change the default (does not work in STRICT mode) sql/event_executor.cc: move mutex initialization to evex_init_mutexes so init_events() can be reused when the main thread does not work and set global event_scheduler=1; (this will start the thread) The main thread is now visible with show processlist and can be killed. sql/event_priv.h: don't use anymore SP for opening table sql/event_timed.cc: don't use anymore SP routines for opening mysql.event sql/mysqld.cc: shutdown_events() should be maximal at the end of the server because it destroys mutexes of EVEX. The call should not be in the main thread. sql/set_var.cc: make sys_var_event_executor subclass sys_var_bool_ptr to overload ::update() method - needed to start a killed (non-running) evex main thread sql/set_var.h: declare class sys_var_event_executor sql/share/errmsg.txt: 2 new messages
-
- 05 Dec, 2005 1 commit
-
-
unknown authored
- split into several files - forbid parallel execution (before analyse is done how to make it possible) because the same sp_head instance cannot be executed in parallel - added GPL headers - changed EVENT_ACL to be per DB variable - fixed minor problems mysql-test/lib/init_db.sql: WL#1034 updated - add Event_priv to mysql.user (update test) - add updated mysql.event table struct scripts/mysql_fix_privilege_tables.sql: WL#1034 updated add updated mysql.event structure sql/Makefile.am: split event.cc into - event.cc (create/alter/drop) - event_executor.cc (main and worker threads) - event_timed.cc (class event_timed) - event_priv.h (some definitions used internally by the module) sql/event.cc: - added GPL header - split into few files - fixed some issues after code review - now using SP routines for opening/traversing/closing tables (will be reverted) sql/event.h: - add GPL header - remove two methods - inline them in sql_yacc.yy - don't use absolute values for EVEX_ defines but the SP_ equivalents (have to move 100% to SP_ defines and as later step to not transfer messages upwards in the stack but report them at the place they occur) - updated reference table definition - move default mem_root param from event.cc to the header sql/mysqld.cc: WL#1034 rename --event-executor to --event-scheduler executor sounds a bit scary :) sql/set_var.cc: rename internal variable name from event_executor to event_scheduler (ppl won't be scarried anymore :) sql/share/errmsg.txt: omit one %s - not needed sql/sp_head.cc: disable this DBUG_PRINT for a bit. m_next_cached_sp is 0x0 and I get crash here... sql/sp_head.h: remove m_old_cmq, a temporal variable is used in sql_yacc.yy (Serg's idea) to keep the previous state. $<ulong_val>$ = .... YYTHD->client_capabilites != $<ulong_val>4; (the same is done also for class event_timed) sql/sql_acl.cc: handle pre-5.1.4 table and give the user EVENT_ACL if he had CREATE_ACL sql/sql_acl.h: fix the bitmask sql/sql_parse.cc: - move from EVENT_ACL being global to EVENT_ACL being per DB like CREATE_PROC_ACL - lex->m_qname dropped, because not needed, fix code therefore - add comment that SHOW CREATE EVENT has to be implemented sql/sql_yacc.yy: - use temporal variable of Bison to store a short lived value - fix indentation - inline 2 class event_timed methods in the parser sql/tztime.h: be more expressive - it's already extern
-
- 02 Dec, 2005 3 commits
- 28 Nov, 2005 4 commits
-
-
unknown authored
into mysql.com:/M51/mysql-5.1
-
unknown authored
-
unknown authored
Fix a typo: "distibution" -> "distribution". sql/mysqld.cc: Fix a typo: "distibution" -> "distribution".
-
unknown authored
into mysql.com:/usr/home/bar/mysql-5.1-new sql/item_strfunc.cc: Auto merged sql/item_strfunc.h: Auto merged
-
- 27 Nov, 2005 1 commit
-
-
unknown authored
Changed to alphabetical order mysql-test/r/show_check.result: Changed to alphabetical order
-
- 26 Nov, 2005 1 commit
-
-
unknown authored
into mysql.com:/tmp/x/mysql-5.1-new
-
- 25 Nov, 2005 9 commits
-
-
unknown authored
mysql-test/r/show_check.result: fixed failing test for Holyfoot ;-) sql/authors.h: added myself
-
unknown authored
into mysql.com:/data0/mysqldev/my/mysql-5.1.3-pushmain
-
unknown authored
sql/authors.h: line about HF
-
unknown authored
into mysql.com:/data0/mysqldev/my/mysql-5.1.3-fixes
-
unknown authored
-
unknown authored
-
unknown authored
-
unknown authored
-
unknown authored
The previous variant where it was a specific ha_partition method only worked for the partition handler. It was unfortunately called also for the NDB handler and in this case it called a random method in the NDB handler with random input. sql/ha_ndbcluster.cc: Moved initialisation of some handler variables to set_part_info method called earlly in the open process sql/ha_ndbcluster.h: Moved initialisation of some handler variables to set_part_info method called earlly in the open process sql/ha_partition.h: Made set_part_info a handler method and not a ha_partition method only sql/handler.h: Made set_part_info a handler method and not a ha_partition method only sql/sql_partition.cc: Made set_part_info a handler method and not a ha_partition method only
-
- 24 Nov, 2005 10 commits
-
-
unknown authored
mysql-test/r/mysqldump.result: Fixing result from merge
-
unknown authored
into zim.(none):/home/brian/mysql/mysql-5.1-new client/mysqldump.c: Auto merged mysql-test/r/mysqldump.result: REsolve mysql-test/t/mysqldump.test: Resolve conflict
-
unknown authored
Its funny, I am reading through the forums and someone asks "Can I please have a REPLACE INTO, instead an INSERT INTO?" and I remember how often I have used a sed script to modify MySQL dumps to have exactly that. So, use --replace and instead of getting INSERT INTO you will INSTEAD get REPLACE INTO. Buyer beward, REPLACE is a MySQL SQL, so you will not end up with a dump that can be used for other databases. Though I hear you could just use a sed line to modify it back :) client/client_priv.h: New option for --replace client/mysqldump.c: Added option for REPLACE INTO instead of INSERT INTO mysql-test/r/mysqldump.result: Updated REsultes for replace into mysql-test/t/mysqldump.test: Added new test for --replace
-
unknown authored
Update version number to 5.1.4-alpha configure.in: Update version number to 5.1.4-alpha
-
unknown authored
-
unknown authored
into mysql.com:/space/my/mysql-5.1
-
unknown authored
(only showed up in a non-debug build) mysys/mf_tempdir.c: - fixed a compile error by adding a missing comma (only showed up in a non-debug build)
-
unknown authored
into neptunus.(none):/home/msvensson/mysql/mysql-5.1 mysql-test/t/disabled.def: SCCS merged
-
unknown authored
into mysql.com:/my/mysql-5.1
-
unknown authored
-