diff options
author | unknown <monty@tik.mysql.com> | 2000-10-11 00:06:37 +0300 |
---|---|---|
committer | unknown <monty@tik.mysql.com> | 2000-10-11 00:06:37 +0300 |
commit | da5366886f2c852cb05f8b9b31848d13a4816cad (patch) | |
tree | cf18eb0d045153270d68aec8884a4732e953e883 /sql/sql_table.cc | |
parent | dbde9337c201b7a53357d3904c7f0ac5b046ed85 (diff) | |
download | mariadb-git-da5366886f2c852cb05f8b9b31848d13a4816cad.tar.gz |
Automatic repair of MyISAM tables + portability fixes
Docs/manual.texi:
Changes for 3.23 and change Ansi mode -> ANSI mode
include/my_base.h:
Automatic repair of MyISAM tables
include/myisam.h:
Automatic repair of MyISAM tables
myisam/ft_update.c:
Portability fix
myisam/mi_check.c:
Automatic repair of MyISAM tables
myisam/mi_open.c:
Automatic repair of MyISAM tables
myisam/myisamchk.c:
Allow one to combine check with --old-repair
myisam/sort.c:
Fix for usage of IO_CACHE
mysys/charset.c:
Portability fixes
mysys/default.c:
Added --defaults-extra-dir
mysys/mf_tempfile.c:
Portability fixes
mysys/my_init.c:
Remove compiler warning
mysys/my_pread.c:
Remove compiler warning
sql-bench/server-cfg.sh:
New benchmark tests
sql-bench/test-insert.sh:
New benchmark tests
sql/ha_myisam.cc:
Automatic repair of MyISAM tables
sql/ha_myisam.h:
Automatic repair of MyISAM tables
sql/handler.h:
Automatic repair of MyISAM tables
sql/lock.cc:
Add missing free
sql/log_event.cc:
Portability fixes
sql/sql_base.cc:
Automatic repair of MyISAM tables
sql/sql_select.h:
Remove compiler warning
sql/sql_table.cc:
Clean up intendent
sql/sql_yacc.yy:
New syntax for CHECK
sql/table.cc:
Automatic repair of MyISAM tables
sql/table.h:
Automatic repair of MyISAM tables
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Diffstat (limited to 'sql/sql_table.cc')
-rw-r--r-- | sql/sql_table.cc | 90 |
1 files changed, 45 insertions, 45 deletions
diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 3cb40d7d9ed..390bfb28fd4 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -745,61 +745,61 @@ static int prepare_for_restore(THD* thd, TABLE_LIST* table) { String *packet = &thd->packet; - if(table->table) // do not overwrite existing tables on restore - { - return send_check_errmsg(thd, table, "restore", - "table exists, will not overwrite on restore" - ); - } + if (table->table) // do not overwrite existing tables on restore + { + return send_check_errmsg(thd, table, "restore", + "table exists, will not overwrite on restore" + ); + } else - { - char* backup_dir = thd->lex.backup_dir; - char src_path[FN_REFLEN], dst_path[FN_REFLEN]; - char* table_name = table->name; - char* db = thd->db ? thd->db : table->db; + { + char* backup_dir = thd->lex.backup_dir; + char src_path[FN_REFLEN], dst_path[FN_REFLEN]; + char* table_name = table->name; + char* db = thd->db ? thd->db : table->db; - if(!fn_format(src_path, table_name, backup_dir, reg_ext, 4 + 64)) - return -1; // protect buffer overflow + if (!fn_format(src_path, table_name, backup_dir, reg_ext, 4 + 64)) + return -1; // protect buffer overflow - sprintf(dst_path, "%s/%s/%s", mysql_real_data_home, db, table_name); + sprintf(dst_path, "%s/%s/%s", mysql_real_data_home, db, table_name); - int lock_retcode; - pthread_mutex_lock(&LOCK_open); - if((lock_retcode = lock_table_name(thd, table)) < 0) - { - pthread_mutex_unlock(&LOCK_open); - return -1; - } - - if(lock_retcode && wait_for_locked_table_names(thd, table)) - { - pthread_mutex_unlock(&LOCK_open); - return -1; - } + int lock_retcode; + pthread_mutex_lock(&LOCK_open); + if ((lock_retcode = lock_table_name(thd, table)) < 0) + { pthread_mutex_unlock(&LOCK_open); + return -1; + } - if(my_copy(src_path, - fn_format(dst_path, dst_path,"", - reg_ext, 4), - MYF(MY_WME))) - { - return send_check_errmsg(thd, table, "restore", - "Failed copying .frm file"); - } - bool save_no_send_ok = thd->net.no_send_ok; - thd->net.no_send_ok = 1; - // generate table will try to send OK which messes up the output - // for the client + if (lock_retcode && wait_for_locked_table_names(thd, table)) + { + pthread_mutex_unlock(&LOCK_open); + return -1; + } + pthread_mutex_unlock(&LOCK_open); - if(generate_table(thd, table, 0)) - { - thd->net.no_send_ok = save_no_send_ok; - return send_check_errmsg(thd, table, "restore", - "Failed generating table from .frm file"); - } + if (my_copy(src_path, + fn_format(dst_path, dst_path,"", + reg_ext, 4), + MYF(MY_WME))) + { + return send_check_errmsg(thd, table, "restore", + "Failed copying .frm file"); + } + bool save_no_send_ok = thd->net.no_send_ok; + thd->net.no_send_ok = 1; + // generate table will try to send OK which messes up the output + // for the client + if (generate_table(thd, table, 0)) + { thd->net.no_send_ok = save_no_send_ok; + return send_check_errmsg(thd, table, "restore", + "Failed generating table from .frm file"); } + + thd->net.no_send_ok = save_no_send_ok; + } return 0; } |