diff options
author | unknown <monty@mysql.com> | 2004-06-25 18:49:36 +0300 |
---|---|---|
committer | unknown <monty@mysql.com> | 2004-06-25 18:49:36 +0300 |
commit | 4e664e3e43b1b0e2a37eadb8a6e28142db444352 (patch) | |
tree | 3a9126456bcc45a3caaf4b6c53da125de2769da8 /sql/ha_myisam.cc | |
parent | 9e630fa088c9f2d7102d6cb36245b09ea655e33d (diff) | |
download | mariadb-git-4e664e3e43b1b0e2a37eadb8a6e28142db444352.tar.gz |
Added missing root user to mysql.user on windows. (Bug #4242)
Set default max_allowed_packet to be able to read help tables even if an my.cnf file with this option is present. (Bug #3938)
Don't use default arguments for ha_rnd_init()
Simple code cleanups since last pull
scripts/fill_func_tables.sh:
Change mode to -rw-rw-r--
scripts/make_win_src_distribution.sh:
Safer remove of SCCS directories
scripts/mysql_create_system_tables.sh:
Added missing root user to mysql.user on windows. (Bug #4242)
scripts/mysql_install_db.sh:
Set default max_allowed_packet to be able to read help tables even if an my.cnf file with this option is present. (Bug #3938)
sql/filesort.cc:
Don't use default arguments for ha_rnd_init()
sql/ha_berkeley.cc:
Better to use #ifdef than // to disable code
Removed not needed setting of active_index (It's set in index_end)
sql/ha_berkeley.h:
Don't use default arguments for ha_rnd_init()
sql/ha_heap.h:
Don't use default arguments for ha_rnd_init()
sql/ha_innodb.h:
Don't use default arguments for ha_rnd_init()
sql/ha_isam.h:
Don't use default arguments for ha_rnd_init()
sql/ha_isammrg.h:
Don't use default arguments for ha_rnd_init()
sql/ha_myisam.cc:
Fixed wrong previous patch (New code used 'and' between two conditions when it should be 'or' as in original code)
sql/ha_myisam.h:
Don't use default arguments for ha_rnd_init()
sql/ha_myisammrg.h:
Don't use default arguments for ha_rnd_init()
sql/ha_ndbcluster.h:
Don't use default arguments for ha_rnd_init()
sql/handler.cc:
Code cleanup
sql/handler.h:
Keep bool variables together (better alignment)
sql/records.cc:
Don't use default arguments for ha_rnd_init()
sql/sql_select.cc:
Don't use default arguments for ha_rnd_init()
Diffstat (limited to 'sql/ha_myisam.cc')
-rw-r--r-- | sql/ha_myisam.cc | 47 |
1 files changed, 24 insertions, 23 deletions
diff --git a/sql/ha_myisam.cc b/sql/ha_myisam.cc index fc203d14d19..77615d68fe4 100644 --- a/sql/ha_myisam.cc +++ b/sql/ha_myisam.cc @@ -1004,8 +1004,10 @@ bool ha_myisam::check_and_repair(THD *thd) { int error=0; int marked_crashed; + char *old_query; + uint old_query_length; HA_CHECK_OPT check_opt; - DBUG_ENTER("ha_myisam::auto_check_and_repair"); + DBUG_ENTER("ha_myisam::check_and_repair"); check_opt.init(); check_opt.flags= T_MEDIUM | T_AUTO_REPAIR; @@ -1013,30 +1015,29 @@ bool ha_myisam::check_and_repair(THD *thd) if (!file->state->del && (myisam_recover_options & HA_RECOVER_QUICK)) check_opt.flags|=T_QUICK; sql_print_error("Warning: Checking table: '%s'",table->path); - if ((marked_crashed=mi_is_crashed(file))) + + old_query= thd->query; + old_query_length= thd->query_length; + pthread_mutex_lock(&LOCK_thread_count); + thd->query= table->real_name; + thd->query_length= strlen(table->real_name); + pthread_mutex_unlock(&LOCK_thread_count); + + if ((marked_crashed= mi_is_crashed(file)) || check(thd, &check_opt)) { - char *old_query= thd->query; - uint old_query_length= thd->query_length; - pthread_mutex_lock(&LOCK_thread_count); - thd->query= table->real_name; - thd->query_length= strlen(table->real_name); - pthread_mutex_unlock(&LOCK_thread_count); - if (check(thd, &check_opt)) - { - sql_print_error("Warning: Recovering table: '%s'",table->path); - check_opt.flags= - ((myisam_recover_options & HA_RECOVER_BACKUP ? T_BACKUP_DATA : 0) | - (marked_crashed ? 0 : T_QUICK) | - (myisam_recover_options & HA_RECOVER_FORCE ? 0 : T_SAFE_REPAIR) | - T_AUTO_REPAIR); - if (repair(thd, &check_opt)) - error=1; - } - pthread_mutex_lock(&LOCK_thread_count); - thd->query= old_query; - thd->query_length= old_query_length; - pthread_mutex_unlock(&LOCK_thread_count); + sql_print_error("Warning: Recovering table: '%s'",table->path); + check_opt.flags= + ((myisam_recover_options & HA_RECOVER_BACKUP ? T_BACKUP_DATA : 0) | + (marked_crashed ? 0 : T_QUICK) | + (myisam_recover_options & HA_RECOVER_FORCE ? 0 : T_SAFE_REPAIR) | + T_AUTO_REPAIR); + if (repair(thd, &check_opt)) + error=1; } + pthread_mutex_lock(&LOCK_thread_count); + thd->query= old_query; + thd->query_length= old_query_length; + pthread_mutex_unlock(&LOCK_thread_count); DBUG_RETURN(error); } |