• Michael Widenius's avatar
    Fixed that automatic killing of delayed insert thread (in flush, alter table... · 8fb10c24
    Michael Widenius authored
    Fixed that automatic killing of delayed insert thread (in flush, alter table etc) will not abort auto-repair of MyISAM table.
    Give more information when finding an error in a MyISAM table.
    When killing system thread, use KILL_SYSTEM_THREAD instead of KILL_CONNECTION to make it easier to ignore the signal in sensitive context (like auto-repair)
    Added new kill level: KILL_SERVER that will in the future to be used to signal killed by shutdown.
    Add more warnings about killed connections when warning level > 3
    
    include/myisamchk.h:
      Added counting of printed info/notes
    mysys/mf_iocache.c:
      Remove duplicate assignment
    sql/handler.cc:
      Added test of KILL_SERVER
    sql/log.cc:
      Ignore new 'kill' error ER_NEW_ABORTING_CONNECTION when requesting query error code.
    sql/mysqld.cc:
      Add more warnings for killed connections when warning level > 3
    sql/scheduler.cc:
      Added checks for new kill signals
    sql/slave.cc:
      Ignore new kill signal ER_NEW_ABORTING_CONNECTION
    sql/sp_head.cc:
      Fixed assignment to bool
      Added testing of new kill signals
    sql/sql_base.cc:
      Use KILL_SYSTEM_THREAD to auto-kill system threads
    sql/sql_class.cc:
      Add more warnings for killed connections when warning level > 3
      thd_killed() now ignores KILL_BAD_DATA and THD::KILL_SYSTEM_THREAD as these should not abort sensitive operations.
    sql/sql_class.h:
      Added KILL_SYSTEM_THREAD and KILL_SERVER
    sql/sql_connect.cc:
      Added handling of KILL_SERVER
    sql/sql_insert.cc:
      Use KILL_SYSTEM_THREAD to auto-kill system threads
      Added handling of KILL_SERVER
    sql/sql_parse.cc:
      Add more warnings for killed connections when warning level > 3
      Added checking that thd->abort_on_warning is reset at end of query.
    sql/sql_show.cc:
      Update condition for when a query is 'killed'
    storage/myisam/ha_myisam.cc:
      Added counting of info/notes printed
    storage/myisam/mi_check.c:
      Always print an an error if we find data errors when checking/repairing a MyISAM table.
      When a repair was killed, don't retry repair.
      Added assert if sort_get_next_record() returned an error without an error message.
      Removed nonsence check "if (sort_param->read_cache.error < 0)" in repair.
    storage/myisam/myisamchk.c:
      Added counting of notes printed
    storage/pbxt/src/thread_xt.cc:
      Better error message.
    8fb10c24
mysqld.cc 347 KB