summaryrefslogtreecommitdiff
path: root/sql/sql_table.cc
diff options
context:
space:
mode:
authorunknown <monty@tik.mysql.com>2000-10-11 00:06:37 +0300
committerunknown <monty@tik.mysql.com>2000-10-11 00:06:37 +0300
commitda5366886f2c852cb05f8b9b31848d13a4816cad (patch)
treecf18eb0d045153270d68aec8884a4732e953e883 /sql/sql_table.cc
parentdbde9337c201b7a53357d3904c7f0ac5b046ed85 (diff)
downloadmariadb-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.cc90
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;
}