1. 14 Apr, 2007 1 commit
    • unknown's avatar
      Fix rpl_events test failure in the runtime tree. · ab59263b
      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.
      ab59263b
  2. 13 Apr, 2007 1 commit
    • unknown's avatar
      An attempt to fix a sporadic valgrind memory leak in Event Scheduler: · c1b6e128
      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()
      c1b6e128
  3. 07 Apr, 2007 2 commits
  4. 06 Apr, 2007 10 commits
  5. 05 Apr, 2007 26 commits
    • unknown's avatar
      Fix events.test failure on manu pushbuild hosts (5.1-runtime). · 93e7a470
      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).
      93e7a470
    • unknown's avatar
      A fix for events_trans.test failure on many hosts (5.1-runtime) · a06ff976
      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).
      a06ff976
    • unknown's avatar
      3d attempt to fix information_schema.test failure on HP-UX. · dd0c20ac
      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.
      dd0c20ac
    • unknown's avatar
      Bug#26121 mysqldump includes LOCK TABLES general_log WRITE · 393e2aa9
      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
      393e2aa9
    • unknown's avatar
      Fix a compile failure on Windows. · 25677bdc
      unknown authored
      25677bdc
    • unknown's avatar
      Fix a compile error with LINT enabled builds. · aadfe5e7
      unknown authored
      aadfe5e7
    • unknown's avatar
      Remove a dead file. · 923d2d3a
      unknown authored
      
      BitKeeper/deleted/.del-openssl_2.result:
        Delete: mysql-test/r/openssl_2.result
      923d2d3a
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · 40e17891
      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
      40e17891
    • unknown's avatar
      Post-merge and post-review fixes for the patch for · ff452d05
      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.
      ff452d05
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · b4f1d7ba
      unknown authored
      into  siva.hindu.god:/home/tsmith/m/bk/maint/51
      
      
      mysql-test/r/information_schema.result:
        Auto merged
      b4f1d7ba
    • unknown's avatar
      ha_ndbcluster.cc: · 44ac9310
      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
      44ac9310
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · a36054f4
      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.
      a36054f4
    • unknown's avatar
      A set of changes aiming to make the Event Scheduler more user-friendly · fa1d637e
      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.
      fa1d637e
    • unknown's avatar
    • unknown's avatar
      Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb · 68fa01f0
      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
      68fa01f0
    • unknown's avatar
      Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb · 23e92aca
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
      
      
      sql/item_func.cc:
        Auto merged
      23e92aca
    • unknown's avatar
      Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb · 34dcbe66
      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
      34dcbe66
    • unknown's avatar
      Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new-maint · 4025df92
      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
      4025df92
    • unknown's avatar
      Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint · 8f21b31d
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
      
      
      8f21b31d
    • unknown's avatar
      Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new-ndb · 8bdb42e0
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
      
      
      8bdb42e0
    • unknown's avatar
      Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb · 9170a3c1
      unknown authored
      into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb
      
      
      sql/ha_ndbcluster.cc:
        Auto merged
      9170a3c1
    • unknown's avatar
      Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb · f6a9b254
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
      
      
      f6a9b254
    • unknown's avatar
      Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb · ee59e734
      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
      ee59e734
    • unknown's avatar
      set name for ndb tools · a3d8d943
      unknown authored
      a3d8d943
    • unknown's avatar
      Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb · f7143ac3
      unknown authored
      into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
      
      
      mysql-test/t/ndb_autodiscover3.test:
        Auto merged
      f7143ac3
    • unknown's avatar
      Bug#27644 ndb: connecting api node/mysqld may "steal" node_id from running mysqld · e8a0ac29
      unknown authored
      - test case workaround to avoid random failures
      
      
      e8a0ac29