1. 05 Apr, 2007 1 commit
    • 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
  2. 27 Mar, 2007 9 commits
    • unknown's avatar
      Fix spelling (recursivity -> recursion) · fce72805
      unknown authored
      
      mysql-test/r/events.result:
        Fix spelling.
      mysql-test/r/events_bugs.result:
        Fix spelling.
      mysql-test/r/ps.result:
        Fix spelling.
      mysql-test/t/events.test:
        Fix spelling.
      mysql-test/t/events_bugs.test:
        Fix spelling.
      mysql-test/t/ps.test:
        Fix spelling.
      sql/sql_yacc.yy:
        Fix spelling.
      sql/share/errmsg.txt:
        Fix spelling.
      fce72805
    • unknown's avatar
      Fix warnings. · 587942a7
      unknown authored
      
      include/typelib.h:
        Fix a compile warning. char *x is actually updated if
        it's found in the typelib (a peculiar way to return
        canonical value in case of a partial match)
      mysys/typelib.c:
        Fix a warning.
      sql/item_func.cc:
        Fix a compile-time warning.
      587942a7
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · c601210b
      unknown authored
      into  bodhi.local:/opt/local/work/mysql-5.1-c1
      
      
      c601210b
    • unknown's avatar
      Remove unnecessary casts to uchar. The casts are stemming from · f5940fe9
      unknown authored
      the lexer API which internally uses  unsigned char variables to
      address its state map. The implementation of the lexer should be
      internal to the lexer, and not influence the rest of the code.
      
      
      sql/event_data_objects.cc:
        Clean up unnecessary type casts.
      sql/event_data_objects.h:
        Clean up unnecessary type casts.
      sql/ha_ndbcluster.cc:
        Clean up unnecessary type casts.
      sql/mysql_priv.h:
        Clean up unnecessary type casts.
      sql/partition_info.h:
        Clean up unnecessary type casts.
      sql/sp.cc:
        Clean up unnecessary type casts.
      sql/sp_head.cc:
        Clean up unnecessary type casts.
      sql/sp_head.h:
        Clean up unnecessary type casts.
      sql/sql_lex.cc:
        Clean up unnecessary type casts.
      sql/sql_lex.h:
        Clean up unnecessary type casts.
      sql/sql_parse.cc:
        Clean up unnecessary type casts.
      sql/sql_partition.cc:
        Clean up unnecessary type casts.
      sql/sql_partition.h:
        Clean up unnecessary type casts.
      sql/sql_prepare.cc:
        Clean up unnecessary type casts.
      sql/sql_trigger.cc:
        Clean up unnecessary type casts.
      sql/sql_view.cc:
        Clean up unnecessary type casts.
      sql/sql_yacc.yy:
        Clean up unnecessary type casts.
      sql/table.cc:
        Clean up unnecessary type casts.
      sql/table.h:
        Clean up unnecessary type casts.
      f5940fe9
    • unknown's avatar
      Merge kpettersson@bk-internal:/home/bk/mysql-5.1-runtime · c9e0f2f8
      unknown authored
      into  kpdesk.mysql.com:/home/thek/dev/mysql-5.1-runtime
      
      
      c9e0f2f8
    • unknown's avatar
      manual merge · afac8bcc
      unknown authored
      
      mysql-test/r/sp.result:
        Corrected error in test case:
        - 1.84e+19 converted to unsigned bigint should be converted to
          1840000000000000000 < 18446744073709551615.
        - This fails on windows and the failing test is extracted to a new
          bugreport.
      afac8bcc
    • unknown's avatar
      Change find_type family to accept const TYPELIB*. · 66fcdd54
      unknown authored
      
      include/mysql_h.ic:
        Change find_type family to accept const TYPELIB*.
        This sort of change can not break the ABI.
      66fcdd54
    • unknown's avatar
      Merge kpdesk.mysql.com:/home/thek/dev/mysql-5.0-runtime · e557e0fd
      unknown authored
      into  kpdesk.mysql.com:/home/thek/dev/mysql-5.1-runtime
      
      
      mysql-test/t/sp.test:
        Auto merged
      sql/item_func.cc:
        Auto merged
      mysql-test/r/sp.result:
        null merge
      e557e0fd
    • unknown's avatar
      Corrected error in test case: · e4dcf4e3
      unknown authored
      - 1.84e+15 converted to unsigned bigint should be
        18400000000000000000 < 18446744073709551615.
      - The test will still fail on windows, and is extracted
        into a new bug report.
      
      
      e4dcf4e3
  3. 24 Mar, 2007 1 commit
    • unknown's avatar
      Remove files that were checked in by mistake. · d9b8e466
      unknown authored
      
      BitKeeper/deleted/.del-events_restart_phase0.log:
        Delete: mysql-test/t/events_restart_phase0.log
      BitKeeper/deleted/.del-events_restart_phase0.result:
        Delete: mysql-test/t/events_restart_phase0.result
      BitKeeper/deleted/.del-events_restart_phase0.result~7954c29cea87c6f7:
        Delete: mysql-test/r/events_restart_phase0.result
      d9b8e466
  4. 23 Mar, 2007 6 commits
    • unknown's avatar
      Merge naruto.:C:/cpp/bug20777/my50-bug20777 · cec241f4
      unknown authored
      into  naruto.:C:/cpp/mysql-5.0-runtime
      
      
      mysql-test/r/sp.result:
        manual merge
      mysql-test/t/sp.test:
        manual merge
      sql/item_func.cc:
        manual merge
      cec241f4
    • unknown's avatar
      Merge kpettersson@bk-internal:/home/bk/mysql-5.1-runtime · 287afa57
      unknown authored
      into  naruto.:C:/cpp/mysql-5.1-runtime
      
      
      287afa57
    • unknown's avatar
      Merge kpettersson@bk-internal:/home/bk/mysql-5.1-runtime · 40a197ee
      unknown authored
      into  naruto.:C:/cpp/mysql-5.1-runtime
      
      
      sql/item_func.cc:
        Auto merged
      mysql-test/r/sp.result:
        manual merge
      mysql-test/t/sp.test:
        manual merge
      40a197ee
    • unknown's avatar
      Change module prefix in error messages: SCHEDULER -> Event Scheduler, · b2d3ddde
      unknown authored
      to not collide with the recently introduced thread scheduler module.
      
      
      mysql-test/r/events.result:
        Update test results with new error texts (SCHEDULER -> Event Scheduler,
        grammar).
      sql/event_data_objects.cc:
        SCHEDULER -> Event Scheduler.
      sql/event_queue.cc:
        SCHEDULER -> Event Scheduler.
      sql/event_scheduler.cc:
        SCHEDULER -> Event Scheduler.
      sql/events.cc:
        SCHEDULER -> Event Scheduler.
      sql/share/errmsg.txt:
        SCHEDULER -> Event Scheduler. Fix English grammar.
      b2d3ddde
    • unknown's avatar
      Update an imperfect error message. · 4e778fe9
      unknown authored
      
      sql/sql_servers.cc:
        It's not a fatal error if we can not open mysql.servers table
        (the start up process continues).
      4e778fe9
    • unknown's avatar
      Trivial cleanups and whitespace change in Event Scheduler code. · 57dc1256
      unknown authored
      A larger patch is to come, this is to exclude rudimentary changes
      from it.
      
      
      sql/event_data_objects.cc:
        Whitespace change.
      sql/event_data_objects.h:
        Remove debug allocators - we have safemalloc.
      sql/event_db_repository.cc:
        Whitespace change.
      sql/event_db_repository.h:
        Whitespace change.
      sql/event_queue.cc:
        Remove an unused structure. Whitespace change.
      sql/event_queue.h:
        Whitespace.
      sql/event_scheduler.cc:
        Whitespace change.
      sql/event_scheduler.h:
        Add comments. Whitespace change.
      sql/events.cc:
        Whitespace change.
      sql/events.h:
        Trivial cleanups.
      57dc1256
  5. 21 Mar, 2007 7 commits
  6. 20 Mar, 2007 2 commits
  7. 19 Mar, 2007 7 commits
    • unknown's avatar
      sql_insert.cc: · c71bff6d
      unknown authored
        After merge fix.
      
      
      sql/sql_insert.cc:
        After merge fix.
      c71bff6d
    • unknown's avatar
      Merge moonbone.local:/mnt/gentoo64/work/27006-bug-5.0-opt-mysql · ca16e703
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/test-5.1-opt-mysql
      
      
      mysql-test/r/trigger.result:
        Auto merged
      mysql-test/t/trigger.test:
        Auto merged
      sql/sql_insert.cc:
        Manually merged.
      ca16e703
    • unknown's avatar
      sql_insert.cc: · 3798a7d5
      unknown authored
        Removed wrong fix for the bug#27006.
        The bug was added by the fix for the bug#19978 and fixed by Monty on 2007/02/21.
      trigger.test, trigger.result:
        Corrected test case for the bug#27006.
      
      
      sql/sql_insert.cc:
        Removed wrong fix for the bug#27006.
        The bug was added by the fix for the bug#19978 and fixed by Monty on 2007/02/21.
      mysql-test/t/trigger.test:
        Corrected test case for the bug#27006.
      mysql-test/r/trigger.result:
        Corrected test case for the bug#27006.
      3798a7d5
    • unknown's avatar
      Merge bodhi.local:/opt/local/work/mysql-5.0-runtime · f81e917a
      unknown authored
      into  bodhi.local:/opt/local/work/mysql-5.1-runtime
      
      
      mysql-test/r/sp.result:
        Auto merged
      mysql-test/t/sp.test:
        Auto merged
      sql/field.cc:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item.h:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_show.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      f81e917a
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1 · e9bb08ac
      unknown authored
      into  bodhi.local:/opt/local/work/mysql-5.1-runtime
      
      
      include/my_global.h:
        Auto merged
      mysql-test/mysql-test-run.pl:
        Auto merged
      mysql-test/r/events_scheduling.result:
        Auto merged
      BitKeeper/deleted/.del-init_db.sql~a77d572c39d5a1f8:
        Auto merged
      BitKeeper/deleted/.del-mysql_create_system_tables.sh:
        Auto merged
      mysql-test/r/query_cache.result:
        Auto merged
      mysql-test/r/view.result:
        Auto merged
      mysql-test/t/events_scheduling.test:
        Auto merged
      mysql-test/t/grant_cache.test:
        Auto merged
      mysql-test/t/query_cache.test:
        Auto merged
      mysql-test/t/view.test:
        Auto merged
      scripts/mysql_system_tables_fix.sql:
        Auto merged
      sql/event_db_repository.cc:
        Auto merged
      sql/event_queue.cc:
        Auto merged
      sql/field.cc:
        Auto merged
      sql/handler.cc:
        Auto merged
      sql/handler.h:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item.h:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/item_subselect.cc:
        Auto merged
      sql/log_event.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sp.cc:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sp_head.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_help.cc:
        Auto merged
      sql/sql_lex.cc:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_prepare.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_show.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      sql/table.cc:
        Auto merged
      sql/share/errmsg.txt:
        Auto merged
      sql/tztime.cc:
        Auto merged
      storage/innobase/handler/ha_innodb.cc:
        Auto merged
      storage/myisam/ha_myisam.cc:
        Auto merged
      storage/myisam/ha_myisam.h:
        Auto merged
      mysql-test/r/skip_grants.result:
        Manualmerge.
      mysql-test/r/sp.result:
        Manualmerge.
      mysql-test/t/skip_grants.test:
        Manualmerge.
      mysql-test/t/sp.test:
        Manualmerge.
      sql/event_data_objects.cc:
        Manualmerge.
      e9bb08ac
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 14ab9bef
      unknown authored
      into  bodhi.local:/opt/local/work/mysql-5.0-runtime
      
      
      sql/field.cc:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item.h:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_show.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      mysql-test/r/sp.result:
        SCCS merged
      mysql-test/t/sp.test:
        SCCS merged
      14ab9bef
    • unknown's avatar
      Manual merge · dbf59fd4
      unknown authored
      
      mysql-test/r/sp.result:
        Manual merge.
        - lowercase 'default' changes to uppercase 'DEFAULT'
      sql/item_func.cc:
        Manual merge
        - shared tables is handled differently in 5.1.
        - Use of LEX_STRING instead of char*.
        - Dummy table allocated differently.
      dbf59fd4
  8. 17 Mar, 2007 2 commits
    • unknown's avatar
      dbug/dbug.c: unused variable removed · 6bb42080
      unknown authored
      include/config-win.h: SIZEOF_INT
      include/my_global.h: win64 fix
      support-files/Makefile.am: automake magic
      
      
      dbug/dbug.c:
        unused variable removed
      include/config-win.h:
        SIZEOF_INT
      include/my_global.h:
        win64 fix
      support-files/Makefile.am:
        automake magic
      6bb42080
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1 · 9128a807
      unknown authored
      into  janus.mylan:/usr/home/serg/Abk/mysql-5.1
      
      
      sql/sql_insert.cc:
        Auto merged
      9128a807
  9. 16 Mar, 2007 5 commits
    • unknown's avatar
      wl#3700 - post-review fixes: · 7d383909
      unknown authored
      s/ulonglong/key_part_map/, comments
      
      
      include/heap.h:
        wl#3700 - post-review fixes:
        s/ulonglong/key_part_map/
      include/my_base.h:
        wl#3700 - post-review fixes:
        s/ulonglong/key_part_map/
      include/myisam.h:
        wl#3700 - post-review fixes:
        s/ulonglong/key_part_map/
      include/myisammrg.h:
        wl#3700 - post-review fixes:
        s/ulonglong/key_part_map/
      sql/event_db_repository.cc:
        wl#3700 - post-review fixes:
        s/ulonglong/key_part_map/
      sql/ha_partition.cc:
        wl#3700 - post-review fixes:
        s/ulonglong/key_part_map/
      sql/ha_partition.h:
        wl#3700 - post-review fixes:
        s/ulonglong/key_part_map/
      sql/sql_select.h:
        wl#3700 - post-review fixes:
        remove tab_to_keypart_map()
      7d383909
    • unknown's avatar
      sql_insert.cc: · 84d24679
      unknown authored
        Post-merge fix.
      
      
      sql/sql_insert.cc:
        Post-merge fix.
      84d24679
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1 · 929b7b1b
      unknown authored
      into  janus.mylan:/usr/home/serg/Abk/mysql-5.1
      
      
      sql/mysql_priv.h:
        Auto merged
      sql/opt_range.cc:
        Auto merged
      sql/sql_acl.cc:
        Auto merged
      sql/sql_help.cc:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      sql/table.h:
        Auto merged
      storage/myisam/ha_myisam.cc:
        Auto merged
      929b7b1b
    • unknown's avatar
      Merge moonbone.local:/mnt/gentoo64/work/27006-bug-5.0-opt-mysql · f5ca9468
      unknown authored
      into  moonbone.local:/mnt/gentoo64/work/test-5.1-opt-mysql
      
      
      mysql-test/r/trigger.result:
        Auto merged
      mysql-test/t/trigger.test:
        Auto merged
      sql/sql_insert.cc:
        Manually merged
      f5ca9468
    • unknown's avatar
      remove unnecessary line · a2630174
      unknown authored
      a2630174