- 14 Apr, 2007 1 commit
-
-
unknown authored
mysql-test/r/rpl_events.result: Now ON COMPLETION NOT PRESERVE events are also dropped on the slave, since DROP EVENT command that is invoked for all such commands gets invoked on the slave. sql/event_data_objects.cc: Fix the failing rpl_events test after the patch for Bug#27733. At the time Events::drop_event got invoked inside Event_job_data::execute() thd->query pointed to CREATE PROCEDURE statement. This statement was written to the binary log from inside Events::drop_event (under assumption that this is a DROP EVENT statement that needs to be replicated), and caused creation of this procedure on the slave (and a subsequent failure when a procedure with the same name already exist). The patch ensures that thd->query points at the right query text for DROP EVENT executed when dropping ON COMPLETION NOT PRESERVE events. sql/event_data_objects.h: Update a declaration. sql/events.cc: Change if () to an assert: thd->query now always points at a valid query.
-
- 13 Apr, 2007 1 commit
-
-
unknown authored
streamline the event worker thread work flow and try to eliminate possibilities for memory corruptions that might have been lurking in previous (complicated) code. This patch: * removes Event_job_data::compile that was never used * cleans up Event_job_data::execute to minimize juggling with thread context and eliminate unneded code paths * Implements Security_context::change/restore_security_context to be able to re-use these methods in all stored programs This is to maybe fix Bug#27733 "Valgrind failures in remove_table_from_cache". Review comments applied. sql/event_data_objects.cc: Remove Event_job_data::compile, which was never used without Event_job_data::execute(). Merge the implementation of compile() with Event_job_data::execute(). Reuse existing functions to prepare the event worker thread for execution instead of some previously copy-pasted code. Do not change and restore the current database inside Event_job_data::execute(), just set the current database in the thread, that is enough to parse and execute an event. sql/event_data_objects.h: Update declarations. sql/event_scheduler.cc: Allocate Event_job_data on stack. sql/item_func.cc: Update to match the new declaration of restore_security_context() sql/sp_head.cc: Update to match the new declaration of change/restore_security_context() sql/sql_class.cc: Move change/restore_security_context to class Security_context. Add more comments. sql/sql_class.h: Make change/restore_security_context methods of Security_context. That allows us to reuse them in Event Scheduler (instead of a copy-paste presently used there). sql/sql_trigger.cc: Update to match the new declaration of change/restore_security_context()
-
- 07 Apr, 2007 2 commits
- 06 Apr, 2007 10 commits
-
-
unknown authored
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
-
unknown authored
into vajra.(none):/opt/local/work/mysql-5.1-runtime sql/parse_file.cc: Auto merged sql/sp_head.cc: Auto merged
-
unknown authored
-
unknown authored
This will hopefully fix events.test failure on vmware-win32, where scheduling is very primitive. mysql-test/t/events_scheduling.test: This test case has no races now and can be enabled under valgrind. sql/event_scheduler.cc: Make Event Scheduler thread shutdown more synchronous: report successful shutdown only after having removed the scheduler thread from the global list of threads. This ensures that after the scheduler has been stopped, its thread is not present in SHOW PROCESSLIST output.
-
unknown authored
sql/parse_file.cc: Add comments.
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user mysql-test/r/information_schema.result: Auto merged sql/mysqld.cc: Auto merged
-
unknown authored
into vajra.(none):/opt/local/work/mysql-5.1-runtime mysql-test/r/information_schema.result: Auto merged mysql-test/r/openssl_1.result: Manual resolve. mysql-test/t/openssl_1.test: Manual resolve.
-
- 05 Apr, 2007 26 commits
-
-
unknown authored
sql/event_db_repository.cc: Fix events.test failure on many pushbuild hosts (5.1-runtime). Make sure that when reading mysql.event the key number matches the field number that we're using to read by key. Also, print an error in case of a handler error (to not return 'Unknown error' when a table is corrupted to the user).
-
unknown authored
sql/event_data_objects.cc: Disable an event if its data in the table is corrupted. sql/events.cc: A fix for events_trans failure on most of the hosts. A better error message if the event table is old (don't suggest it's corrupted, it may simply have bad data).
-
unknown authored
Apparently it's the only platform in pushbuild where we compile without openssl. mysql-test/r/information_schema.result: Update results. mysql-test/r/openssl_1.result: Update results. mysql-test/t/information_schema.test: Move the part of the test case that needs SSL support to openssl_1.test mysql-test/t/openssl_1.test: Add a test case that needs SSL support.
-
unknown authored
- Giving the directive '--all-databases' to mysqldump caused an attempt to lock and dump log tables which don't support this operation. - With this patch the log tables are excluded from the set of databases tables to dump. client/mysqldump.c: - Ignore log tables which can't be locked. mysql-test/t/mysqldump.test: Added test
-
unknown authored
-
unknown authored
-
unknown authored
BitKeeper/deleted/.del-openssl_2.result: Delete: mysql-test/r/openssl_2.result
-
unknown authored
into vajra.(none):/opt/local/work/mysql-5.1-c1 sql/mysqld.cc: Auto merged sql/sql_show.cc: Auto merged sql/sql_yacc.yy: Auto merged sql/table.cc: Auto merged
-
unknown authored
Bug#23631 "Events: SHOW VARIABLES doesn't work when mysql.event is damaged: mysql-test/r/events.result: Update results (a post-merge fix) mysql-test/r/events_bugs.result: Update results (a post-merge fix) mysql-test/r/events_scheduling.result: Update results (a post-merge fix) mysql-test/t/events_scheduling.test: Make sure this test has no races. sql/event_data_objects.cc: Manual post-merge fix for the events replication patch. sql/event_data_objects.h: A post-merge fix. sql/event_db_repository.cc: A post-merge fix. sql/event_scheduler.cc: We should drop the event inside ::execute since there we have the right credentials to do so (otherwise Events::drop_event returns "access denied" error). sql/events.cc: A post-review fix for: rename start_or_stop_event_scheduler to switch_event_scheduler_state. sql/events.h: A post-review fix for: rename start_or_stop_event_scheduler to switch_event_scheduler_state. sql/set_var.cc: A post-review fix for: rename start_or_stop_event_scheduler to switch_event_scheduler_state. sql/sql_yacc.yy: Remove unused declaratoins.
-
unknown authored
into siva.hindu.god:/home/tsmith/m/bk/maint/51 mysql-test/r/information_schema.result: Auto merged
-
unknown authored
Bug #26591 Cluster handler does not set bits in null bytes correctly: Improved comments ha_ndbcluster_binlog.cc: Bug #26591 Cluster handler does not set bits in null bytes correctly: Using empty_record() instead of bzero sql/ha_ndbcluster.cc: Bug #26591 Cluster handler does not set bits in null bytes correctly: Improved comments sql/ha_ndbcluster_binlog.cc: Bug #26591 Cluster handler does not set bits in null bytes correctly: Using empty_record() instead of bzero
-
unknown authored
into vajra.(none):/opt/local/work/mysql-5.1-c1 mysql-test/r/events_bugs.result: Auto merged mysql-test/r/events_scheduling.result: Auto merged mysql-test/t/events.test: Auto merged mysql-test/t/events_scheduling.test: Auto merged sql/event_data_objects.h: Auto merged sql/event_db_repository.h: Auto merged sql/mysqld.cc: Auto merged sql/set_var.cc: Auto merged sql/set_var.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_show.cc: Auto merged sql/table.h: Auto merged sql/share/errmsg.txt: Auto merged mysql-test/r/events.result: e Use local. mysql-test/r/events_restart_phase1.result: Use local mysql-test/r/events_time_zone.result: SCCS merged mysql-test/t/events_restart_phase1.test: Use local sql/event_data_objects.cc: Use local sql/event_db_repository.cc: Manual merge. sql/event_queue.cc: Manual merge. sql/events.cc: Manual merge.
-
unknown authored
when there are no up-to-date system tables to support it: - initialize the scheduler before reporting "Ready for connections". This ensures that warnings, if any, are printed before "Ready for connections", and this message is not mangled. - do not abort the scheduler if there are no system tables - check the tables once at start up, remember the status and disable the scheduler if the tables are not up to date. If one attempts to use the scheduler with bad tables, issue an error message. - clean up the behaviour of the module under LOCK TABLES and pre-locking mode - make sure implicit commit of Events DDL works as expected. - add more tests Collateral clean ups in the events code. This patch fixes Bug#23631 Events: SHOW VARIABLES doesn't work when mysql.event is damaged mysql-test/r/events.result: Update results. mysql-test/r/events_bugs.result: Update results. mysql-test/r/events_restart_phase1.result: Update results. mysql-test/r/events_restart_phase2.result: Update results. mysql-test/r/events_restart_phase3.result: Update results. mysql-test/r/events_scheduling.result: Update results. mysql-test/r/events_time_zone.result: Update results. mysql-test/t/events.test: Add new tests for tampering with mysql.event and some more tests for sub-statements, LOCK TABLES mode and pre-locking. mysql-test/t/events_bugs.test: Move the non-concurrent part of test for Bug 16420 to this file. mysql-test/t/events_restart_phase1.test: Rewrite events_restart_* tests to take into account that now we check mysql.event table only once, at server startup. mysql-test/t/events_restart_phase2.test: Rewrite events_restart_* tests to take into account that now we check mysql.event table only once, at server startup. mysql-test/t/events_restart_phase3.test: Rewrite events_restart_* tests to take into account that now we check mysql.event table only once, at server startup. mysql-test/t/events_scheduling.test: Add more coverage for event_scheduler global variable. mysql-test/t/events_time_zone.test: Move the non-concurrent part of the tests for Bug 16420 to events_bugs.test sql/event_data_objects.cc: Move update_timing_fields functionality to Event_db_repository. Make loading of events from a table record more robust to tampering with the table - now we do not check mysql.event on every table open. sql/event_data_objects.h: Cleanup. sql/event_db_repository.cc: Now Event_db_repository is responsible for table I/O only. All the logic of events DDL is handled outside, in Events class please refer to the added test coverage to see how this change affected the behavior of Event Scheduler. Dependency on sp_head.h and sp.h removed. Make this module robust to tweaks with mysql.event table. Move check_system_tables from events.cc to this file sql/event_db_repository.h: Cleanup declarations (remove unused ones, change return type to bool from int). sql/event_queue.cc: Update to adapt to the new start up scheme of the Event Scheduler. sql/event_queue.h: Cleanup declarations. sql/event_scheduler.cc: Make all the error messages uniform: [SEVERITY] Event Scheduler: [user][schema.event] message Using append_identifier for error logging was an overkill - we may need it only if the system character set may have NUL (null character) as part of a valid identifier, this is currently never the case, whereas additional quoting did not look nice in the log. sql/event_scheduler.h: Cleanup the headers. sql/events.cc: Use a different start up procedure of Event Scheduler: - at start up, try to check the system tables first. If they are not up-to-date, disable the scheduler. - try to load all the active events. In case of a load error, abort start up. - do not parse an event on start up. Parsing only gives some information about event validity, but far not all. Consolidate the business logic of Events DDL in this module. Now opt_event_scheduler may change after start up and thus is protected by LOCK_event_metadata mutex. sql/events.h: Use all-static-data-members approach to implement Singleton pattern. sql/mysqld.cc: New invocation scheme of Events. Move some logic to events.cc. Initialize the scheduler before reporting "Ready for connections". sql/set_var.cc: Clean up sys_var_thd_sql_mode::symbolic_mode_representation to work with a LEX_STRING. Move more logic related to @@events_scheduler global variable to Events module. sql/set_var.h: Update declarations. sql/share/errmsg.txt: If someone tampered with mysql.event table after the server has started we no longer give him/her a complete report what was actually broken. Do not send the user to look at the error log in such case, as there is nothing there (check_table_intact is not executed). sql/sp_head.cc: Update to a new declaration of sys_var_thd_sql_mode::symbolic_mode_representation sql/sql_db.cc: New invocation scheme of Events module. sql/sql_parse.cc: Move more logic to Events module. Make sure that we are consistent in the way access rights are checked for Events DDL: always after committing the current transaction and checking the system tables. sql/sql_show.cc: Update to the new declarations of sys_var_thd_sql_mode::symbolic_mode_representation sql/sql_test.cc: New invocation scheme of events. sql/table.cc: mysql.event is a system table. Update check_table_intact to be concurrent, more verbose, and less smart. sql/table.h: Add a helper method. mysql-test/r/events_trans.result: New BitKeeper file ``mysql-test/r/events_trans.result'' mysql-test/t/events_trans.test: New BitKeeper file ``mysql-test/t/events_trans.test'': test cases for Event Scheduler that require a transactional storage engine.
-
unknown authored
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user include/my_base.h: Auto merged sql/ha_ndbcluster.h: Auto merged sql/item_func.cc: Auto merged sql/mysql_priv.h: Auto merged sql/sql_delete.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_load.cc: Auto merged sql/sql_trigger.h: Auto merged sql/sql_update.cc: Auto merged sql/ha_ndbcluster.cc: manual merge
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb sql/item_func.cc: Auto merged
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user sql/ha_ndbcluster.cc: Auto merged sql/handler.cc: Auto merged sql/sql_table.cc: Auto merged
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user mysql-test/r/information_schema.result: Auto merged mysql-test/r/rpl_ndb_basic.result: Auto merged mysql-test/r/rpl_ndb_log.result: Auto merged sql/mysqld.cc: Auto merged
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
-
unknown authored
into mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb sql/ha_ndbcluster.cc: Auto merged
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user storage/ndb/tools/delete_all.cpp: Auto merged storage/ndb/tools/desc.cpp: Auto merged storage/ndb/tools/drop_index.cpp: Auto merged storage/ndb/tools/drop_tab.cpp: Auto merged storage/ndb/tools/listTables.cpp: Auto merged storage/ndb/tools/select_all.cpp: Auto merged storage/ndb/tools/select_count.cpp: Auto merged
-
unknown authored
-
unknown authored
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user mysql-test/t/ndb_autodiscover3.test: Auto merged
-
unknown authored
- test case workaround to avoid random failures
-