summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorserg@serg.mysql.com <>2002-11-08 20:57:36 +0100
committerserg@serg.mysql.com <>2002-11-08 20:57:36 +0100
commitdfa90af1e010c7b01a3b81262787a5c10ffd3427 (patch)
treeb5435641f1ae2c05f048117f518f7ab0a1eee0cb /client
parent3f96bc06109ae29439272854aba652387f5d547d (diff)
downloadmariadb-git-dfa90af1e010c7b01a3b81262787a5c10ffd3427.tar.gz
--use-frm option to mysqlcheck
Diffstat (limited to 'client')
-rw-r--r--client/client_priv.h4
-rw-r--r--client/mysqlcheck.c11
2 files changed, 10 insertions, 5 deletions
diff --git a/client/client_priv.h b/client/client_priv.h
index acf9455bf9c..b8181245be2 100644
--- a/client/client_priv.h
+++ b/client/client_priv.h
@@ -17,7 +17,7 @@
/* Common defines for all clients */
#include <my_global.h>
-#include <my_sys.h>
+#include <my_sys.h>
#include <m_string.h>
#include <mysql.h>
#include <mysql_embed.h>
@@ -37,4 +37,4 @@ enum options { OPT_CHARSETS_DIR=256, OPT_DEFAULT_CHARSET,
OPT_SELECT_LIMIT, OPT_MAX_JOIN_SIZE, OPT_SSL_SSL,
OPT_SSL_KEY, OPT_SSL_CERT, OPT_SSL_CA, OPT_SSL_CAPATH,
OPT_SSL_CIPHER, OPT_SHUTDOWN_TIMEOUT, OPT_LOCAL_INFILE,
- OPT_PROMPT, OPT_IGN_LINES,OPT_TRANSACTION };
+ OPT_PROMPT, OPT_IGN_LINES,OPT_TRANSACTION, OPT_FRM };
diff --git a/client/mysqlcheck.c b/client/mysqlcheck.c
index 24b67a60255..1f440992861 100644
--- a/client/mysqlcheck.c
+++ b/client/mysqlcheck.c
@@ -34,7 +34,7 @@ static my_bool opt_alldbs = 0, opt_check_only_changed = 0, opt_extended = 0,
opt_compress = 0, opt_databases = 0, opt_fast = 0,
opt_medium_check = 0, opt_quick = 0, opt_all_in_1 = 0,
opt_silent = 0, opt_auto_repair = 0, ignore_errors = 0,
- tty_password = 0;
+ tty_password = 0, opt_frm = 0;
static uint verbose = 0, opt_mysql_port=0;
static my_string opt_mysql_unix_port = 0;
static char *opt_password = 0, *current_user = 0, *default_charset = 0,
@@ -128,13 +128,17 @@ static struct my_option my_long_options[] =
{"user", 'u', "User for login if not current user.", (gptr*) &current_user,
(gptr*) &current_user, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
#endif
+ {"use-frm", OPT_FRM,
+ "When used with REPAIR, get table structure from .frm file, so the table can be repaired even if .MYI header is corrupted.",
+ (gptr*) &opt_frm, (gptr*) &opt_frm, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0,
+ 0},
{"verbose", 'v', "Print info about the various stages.", 0, 0, 0, GET_NO_ARG,
NO_ARG, 0, 0, 0, 0, 0, 0},
{"version", 'V', "Output version information and exit.", 0, 0, 0, GET_NO_ARG,
NO_ARG, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}
};
-
+
static const char *load_default_groups[] = { "mysqlcheck", "client", 0 };
@@ -223,7 +227,7 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
opt_password = my_strdup(argument, MYF(MY_FAE));
while (*argument) *argument++= 'x'; /* Destroy argument */
if (*start)
- start[1] = 0; /* Cut length of argument */
+ start[1] = 0; /* Cut length of argument */
}
else
tty_password = 1;
@@ -452,6 +456,7 @@ static int handle_request_for_tables(char *tables, uint length)
op = "REPAIR";
if (opt_quick) end = strmov(end, " QUICK");
if (opt_extended) end = strmov(end, " EXTENDED");
+ if (opt_frm) end = strmov(end, " USE_FRM");
break;
case DO_ANALYZE:
op = "ANALYZE";