Commit 4c7af343 authored by Michael Widenius's avatar Michael Widenius

Fixed build failures

Cleaned up mysql_upgrade --help and mysqlcheck --help

client/mysql_upgrade.c:
  Increased version number.
  Marked all options that are not used 'Not used'.
  Don't write 'Looking for tool' if not using --verbose
client/mysqlcheck.c:
  Cleanup output for --help
  Reset not initialzed variable
mysql-test/r/log_tables_upgrade.result:
  Updated results
mysql-test/r/mysql_upgrade.result:
  Updated results
mysql-test/r/mysqlcheck.result:
  Updated results
mysql-test/t/log_tables_upgrade.test:
  mysql_upgrade is now run without --skip-verbose
mysql-test/t/mysql_upgrade.test:
  mysql_upgrade is now run without --skip-verbose
parent b74cd1b6
/* Copyright (C) 2000 MySQL AB /* Copyright (C) 2000 MySQL AB
Copyright (C) 2010 Monty Program Ab
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
...@@ -17,7 +18,7 @@ ...@@ -17,7 +18,7 @@
#include <sslopt-vars.h> #include <sslopt-vars.h>
#include "../scripts/mysql_fix_privilege_tables_sql.c" #include "../scripts/mysql_fix_privilege_tables_sql.c"
#define VER "1.1" #define VER "1.2"
#ifdef HAVE_SYS_WAIT_H #ifdef HAVE_SYS_WAIT_H
#include <sys/wait.h> #include <sys/wait.h>
...@@ -63,12 +64,14 @@ static struct my_option my_long_options[]= ...@@ -63,12 +64,14 @@ static struct my_option my_long_options[]=
{ {
{"help", '?', "Display this help message and exit.", 0, 0, 0, GET_NO_ARG, {"help", '?', "Display this help message and exit.", 0, 0, 0, GET_NO_ARG,
NO_ARG, 0, 0, 0, 0, 0, 0}, NO_ARG, 0, 0, 0, 0, 0, 0},
{"basedir", 'b', "Not used by mysql_upgrade. Only for backward compatibility.", {"basedir", 'b',
"Not used by mysql_upgrade. Only for backward compatibility.",
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"character-sets-dir", OPT_CHARSETS_DIR, {"character-sets-dir", OPT_CHARSETS_DIR,
"Directory for character set files.", 0, "Not used by mysql_upgrade. Only for backward compatibility.",
0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },
{"compress", OPT_COMPRESS, "Use compression in server/client protocol.", {"compress", OPT_COMPRESS,
"Not used by mysql_upgrade. Only for backward compatibility.",
&not_used, &not_used, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, &not_used, &not_used, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
{"datadir", 'd', {"datadir", 'd',
"Not used by mysql_upgrade. Only for backward compatibility.", "Not used by mysql_upgrade. Only for backward compatibility.",
...@@ -81,18 +84,17 @@ static struct my_option my_long_options[]= ...@@ -81,18 +84,17 @@ static struct my_option my_long_options[]=
&default_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0}, &default_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
#endif #endif
{"debug-check", OPT_DEBUG_CHECK, "Check memory and open file usage at exit.", {"debug-check", OPT_DEBUG_CHECK, "Check memory and open file usage at exit.",
&debug_check_flag, &debug_check_flag, 0, &debug_check_flag, &debug_check_flag,
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
{"debug-info", 'T', "Print some debug info at exit.", &debug_info_flag, {"debug-info", 'T', "Print some debug info at exit.", &debug_info_flag,
&debug_info_flag, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, &debug_info_flag, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
{"default-character-set", OPT_DEFAULT_CHARSET, {"default-character-set", OPT_DEFAULT_CHARSET,
"Set the default character set.", 0, "Not used by mysql_upgrade. Only for backward compatibility.",
0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, 0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"force", 'f', "Force execution of mysqlcheck even if mysql_upgrade " {"force", 'f', "Force execution of mysqlcheck even if mysql_upgrade "
"has already been executed for the current version of MySQL.", "has already been executed for the current version of MySQL.",
&opt_force, &opt_force, 0, &opt_force, &opt_force, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, {"host", 'h', "Connect to host.", 0,
{"host",'h', "Connect to host.", 0,
0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
{"password", 'p', {"password", 'p',
"Password to use when connecting to server. If password is not given," "Password to use when connecting to server. If password is not given,"
...@@ -440,7 +442,8 @@ static void find_tool(char *tool_executable_name, const char *tool_name, ...@@ -440,7 +442,8 @@ static void find_tool(char *tool_executable_name, const char *tool_name,
len, self_name, FN_LIBCHAR, tool_name); len, self_name, FN_LIBCHAR, tool_name);
} }
verbose("Looking for '%s' as: %s", tool_name, tool_executable_name); if (opt_verbose)
verbose("Looking for '%s' as: %s", tool_name, tool_executable_name);
/* /*
Make sure it can be executed Make sure it can be executed
......
/* Copyright (C) 2000 MySQL AB /* Copyright (C) 2000 MySQL AB & Jani Tolonen
Copyright (C) 2010 Monty Program Ab Copyright (C) 2010 Monty Program Ab
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
...@@ -223,24 +223,26 @@ static void usage(void) ...@@ -223,24 +223,26 @@ static void usage(void)
{ {
print_version(); print_version();
puts("By Jani Tolonen, 2001-04-20, MySQL Development Team.\n"); puts("By Jani Tolonen, 2001-04-20, MySQL Development Team.\n");
puts("This software comes with ABSOLUTELY NO WARRANTY. This is free software,\n"); puts("This software comes with ABSOLUTELY NO WARRANTY. This is free software,");
puts("and you are welcome to modify and redistribute it under the GPL license.\n"); puts("and you are welcome to modify and redistribute it under the GPL license.\n");
printf("Usage: %s [OPTIONS] database [tables]\n", my_progname);
printf("OR %s [OPTIONS] --databases DB1 [DB2 DB3...]\n",
my_progname);
printf("OR %s [OPTIONS] --all-databases\n\n", my_progname);
puts("This program can be used to CHECK (-c, -m, -C), REPAIR (-r), ANALYZE (-a),"); puts("This program can be used to CHECK (-c, -m, -C), REPAIR (-r), ANALYZE (-a),");
puts("or OPTIMIZE (-o) tables. Some of the options (like -e or -q) can be"); puts("or OPTIMIZE (-o) tables. Some of the options (like -e or -q) can be");
puts("used at the same time. Not all options are supported by all storage engines."); puts("used at the same time. Not all options are supported by all storage engines.");
puts("Please consult the MySQL manual for latest information about the"); puts("The options -c, -r, -a, and -o are exclusive to each other, which");
puts("above. The options -c, -r, -a, and -o are exclusive to each other, which");
puts("means that the last option will be used, if several was specified.\n"); puts("means that the last option will be used, if several was specified.\n");
puts("The option -c will be used by default, if none was specified. You"); puts("The option -c (--check) will be used by default, if none was specified.");
puts("can change the default behavior by making a symbolic link, or"); puts("You can change the default behavior by making a symbolic link, or");
puts("copying this file somewhere with another name, the alternatives are:"); puts("copying this file somewhere with another name, the alternatives are:");
puts("mysqlrepair: The default option will be -r"); puts("mysqlrepair: The default option will be -r");
puts("mysqlanalyze: The default option will be -a"); puts("mysqlanalyze: The default option will be -a");
puts("mysqloptimize: The default option will be -o\n"); puts("mysqloptimize: The default option will be -o\n");
printf("Usage: %s [OPTIONS] database [tables]\n", my_progname); puts("Please consult the MariaDB/MySQL knowledgebase at");
printf("OR %s [OPTIONS] --databases DB1 [DB2 DB3...]\n", puts("http://kb.askmonty.org/v/mysqlcheck for latest information about");
my_progname); puts("this program.");
printf("OR %s [OPTIONS] --all-databases\n", my_progname);
print_defaults("my", load_default_groups); print_defaults("my", load_default_groups);
my_print_help(my_long_options); my_print_help(my_long_options);
my_print_variables(my_long_options); my_print_variables(my_long_options);
...@@ -526,7 +528,7 @@ static int process_all_tables_in_db(char *database) ...@@ -526,7 +528,7 @@ static int process_all_tables_in_db(char *database)
MYSQL_RES *res; MYSQL_RES *res;
MYSQL_ROW row; MYSQL_ROW row;
uint num_columns; uint num_columns;
my_bool system_database; my_bool system_database= 0;
LINT_INIT(res); LINT_INIT(res);
if (use_db(database)) if (use_db(database))
......
...@@ -11,15 +11,18 @@ Table Op Msg_type Msg_text ...@@ -11,15 +11,18 @@ Table Op Msg_type Msg_text
test.bug49823 repair status OK test.bug49823 repair status OK
RENAME TABLE general_log TO renamed_general_log; RENAME TABLE general_log TO renamed_general_log;
RENAME TABLE test.bug49823 TO general_log; RENAME TABLE test.bug49823 TO general_log;
Phase 1/3: Fixing table and database names
Phase 2/3: Checking and upgrading tables
Processing databases
information_schema
mtr
mtr.global_suppressions OK mtr.global_suppressions OK
mtr.test_suppressions OK mtr.test_suppressions OK
mysql
mysql.columns_priv OK mysql.columns_priv OK
mysql.db OK mysql.db OK
mysql.event OK mysql.event OK
mysql.func OK mysql.func OK
mysql.general_log
Error : You can't use locks with log tables.
status : OK
mysql.help_category OK mysql.help_category OK
mysql.help_keyword OK mysql.help_keyword OK
mysql.help_relation OK mysql.help_relation OK
...@@ -31,9 +34,6 @@ mysql.proc OK ...@@ -31,9 +34,6 @@ mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.renamed_general_log OK mysql.renamed_general_log OK
mysql.servers OK mysql.servers OK
mysql.slow_log
Error : You can't use locks with log tables.
status : OK
mysql.tables_priv OK mysql.tables_priv OK
mysql.time_zone OK mysql.time_zone OK
mysql.time_zone_leap_second OK mysql.time_zone_leap_second OK
...@@ -41,6 +41,9 @@ mysql.time_zone_name OK ...@@ -41,6 +41,9 @@ mysql.time_zone_name OK
mysql.time_zone_transition OK mysql.time_zone_transition OK
mysql.time_zone_transition_type OK mysql.time_zone_transition_type OK
mysql.user OK mysql.user OK
test
Phase 3/3: Running 'mysql_fix_privilege_tables'...
OK
DROP TABLE general_log; DROP TABLE general_log;
RENAME TABLE renamed_general_log TO general_log; RENAME TABLE renamed_general_log TO general_log;
SET GLOBAL general_log = @saved_general_log; SET GLOBAL general_log = @saved_general_log;
......
This diff is collapsed.
...@@ -7,8 +7,6 @@ mysql.columns_priv OK ...@@ -7,8 +7,6 @@ mysql.columns_priv OK
mysql.db OK mysql.db OK
mysql.event OK mysql.event OK
mysql.func OK mysql.func OK
mysql.general_log
note : The storage engine for the table doesn't support optimize
mysql.help_category OK mysql.help_category OK
mysql.help_keyword OK mysql.help_keyword OK
mysql.help_relation OK mysql.help_relation OK
...@@ -19,8 +17,6 @@ mysql.plugin OK ...@@ -19,8 +17,6 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.servers OK mysql.servers OK
mysql.slow_log
note : The storage engine for the table doesn't support optimize
mysql.tables_priv OK mysql.tables_priv OK
mysql.time_zone OK mysql.time_zone OK
mysql.time_zone_leap_second OK mysql.time_zone_leap_second OK
...@@ -32,8 +28,6 @@ mysql.columns_priv OK ...@@ -32,8 +28,6 @@ mysql.columns_priv OK
mysql.db OK mysql.db OK
mysql.event OK mysql.event OK
mysql.func OK mysql.func OK
mysql.general_log
note : The storage engine for the table doesn't support optimize
mysql.help_category OK mysql.help_category OK
mysql.help_keyword OK mysql.help_keyword OK
mysql.help_relation OK mysql.help_relation OK
...@@ -44,8 +38,6 @@ mysql.plugin OK ...@@ -44,8 +38,6 @@ mysql.plugin OK
mysql.proc OK mysql.proc OK
mysql.procs_priv OK mysql.procs_priv OK
mysql.servers OK mysql.servers OK
mysql.slow_log
note : The storage engine for the table doesn't support optimize
mysql.tables_priv OK mysql.tables_priv OK
mysql.time_zone OK mysql.time_zone OK
mysql.time_zone_leap_second OK mysql.time_zone_leap_second OK
......
...@@ -25,7 +25,7 @@ FLUSH TABLES; ...@@ -25,7 +25,7 @@ FLUSH TABLES;
REPAIR TABLE test.bug49823; REPAIR TABLE test.bug49823;
RENAME TABLE general_log TO renamed_general_log; RENAME TABLE general_log TO renamed_general_log;
RENAME TABLE test.bug49823 TO general_log; RENAME TABLE test.bug49823 TO general_log;
--exec $MYSQL_UPGRADE --skip-verbose --force 2>&1 --exec $MYSQL_UPGRADE --force 2>&1
DROP TABLE general_log; DROP TABLE general_log;
RENAME TABLE renamed_general_log TO general_log; RENAME TABLE renamed_general_log TO general_log;
SET GLOBAL general_log = @saved_general_log; SET GLOBAL general_log = @saved_general_log;
......
...@@ -33,7 +33,7 @@ if (`SELECT $VALGRIND_TEST`) ...@@ -33,7 +33,7 @@ if (`SELECT $VALGRIND_TEST`)
# expected binaries it uses. # expected binaries it uses.
# #
--echo Run mysql_upgrade once --echo Run mysql_upgrade once
--exec $MYSQL_UPGRADE --skip-verbose --force 2>&1 --exec $MYSQL_UPGRADE --force 2>&1
# It should have created a file in the MySQL Servers datadir # It should have created a file in the MySQL Servers datadir
let $MYSQLD_DATADIR= `select @@datadir`; let $MYSQLD_DATADIR= `select @@datadir`;
...@@ -42,13 +42,13 @@ file_exists $MYSQLD_DATADIR/mysql_upgrade_info; ...@@ -42,13 +42,13 @@ file_exists $MYSQLD_DATADIR/mysql_upgrade_info;
--echo Run it again - should say already completed --echo Run it again - should say already completed
--replace_result $MYSQL_SERVER_VERSION VERSION --replace_result $MYSQL_SERVER_VERSION VERSION
--error 1 --error 1
--exec $MYSQL_UPGRADE --skip-verbose 2>&1 --exec $MYSQL_UPGRADE 2>&1
# It should have created a file in the MySQL Servers datadir # It should have created a file in the MySQL Servers datadir
file_exists $MYSQLD_DATADIR/mysql_upgrade_info; file_exists $MYSQLD_DATADIR/mysql_upgrade_info;
--echo Force should run it regardless of wether it's been run before --echo Force should run it regardless of wether it's been run before
--exec $MYSQL_UPGRADE --skip-verbose --force 2>&1 --exec $MYSQL_UPGRADE --force 2>&1
# It should have created a file in the MySQL Servers datadir # It should have created a file in the MySQL Servers datadir
file_exists $MYSQLD_DATADIR/mysql_upgrade_info; file_exists $MYSQLD_DATADIR/mysql_upgrade_info;
...@@ -63,7 +63,7 @@ file_exists $MYSQLD_DATADIR/mysql_upgrade_info; ...@@ -63,7 +63,7 @@ file_exists $MYSQLD_DATADIR/mysql_upgrade_info;
CREATE USER mysqltest1@'%' IDENTIFIED by 'sakila'; CREATE USER mysqltest1@'%' IDENTIFIED by 'sakila';
GRANT ALL ON *.* TO mysqltest1@'%'; GRANT ALL ON *.* TO mysqltest1@'%';
--echo Run mysql_upgrade with password protected account --echo Run mysql_upgrade with password protected account
--exec $MYSQL_UPGRADE --skip-verbose --force --user=mysqltest1 --password=sakila 2>&1 --exec $MYSQL_UPGRADE --force --user=mysqltest1 --password=sakila 2>&1
DROP USER mysqltest1@'%'; DROP USER mysqltest1@'%';
...@@ -76,7 +76,7 @@ DROP USER mysqltest1@'%'; ...@@ -76,7 +76,7 @@ DROP USER mysqltest1@'%';
--replace_result $MYSQLTEST_VARDIR var --replace_result $MYSQLTEST_VARDIR var
--replace_regex /.*mysqlcheck.*: Got/mysqlcheck: Got/ /\([0-9]*\)/(errno)/ --replace_regex /.*mysqlcheck.*: Got/mysqlcheck: Got/ /\([0-9]*\)/(errno)/
--error 1 --error 1
--exec $MYSQL_UPGRADE --skip-verbose --force --host=not_existing_host 2>&1 --exec $MYSQL_UPGRADE --force --host=not_existing_host 2>&1
# #
# Bug #28401 mysql_upgrade Failed with STRICT_ALL_TABLES, ANSI_QUOTES and NO_ZERO_DATE # Bug #28401 mysql_upgrade Failed with STRICT_ALL_TABLES, ANSI_QUOTES and NO_ZERO_DATE
...@@ -88,7 +88,7 @@ DROP USER mysqltest1@'%'; ...@@ -88,7 +88,7 @@ DROP USER mysqltest1@'%';
# Test by setting sql_mode before running mysql_upgrade # Test by setting sql_mode before running mysql_upgrade
set GLOBAL sql_mode='STRICT_ALL_TABLES,ANSI_QUOTES,NO_ZERO_DATE'; set GLOBAL sql_mode='STRICT_ALL_TABLES,ANSI_QUOTES,NO_ZERO_DATE';
--exec $MYSQL_UPGRADE --skip-verbose --force 2>&1 --exec $MYSQL_UPGRADE --force 2>&1
eval set GLOBAL sql_mode=default; eval set GLOBAL sql_mode=default;
...@@ -104,7 +104,7 @@ CREATE PROCEDURE testproc() BEGIN END; ...@@ -104,7 +104,7 @@ CREATE PROCEDURE testproc() BEGIN END;
UPDATE mysql.proc SET character_set_client = NULL WHERE name LIKE 'testproc'; UPDATE mysql.proc SET character_set_client = NULL WHERE name LIKE 'testproc';
UPDATE mysql.proc SET collation_connection = NULL WHERE name LIKE 'testproc'; UPDATE mysql.proc SET collation_connection = NULL WHERE name LIKE 'testproc';
UPDATE mysql.proc SET db_collation = NULL WHERE name LIKE 'testproc'; UPDATE mysql.proc SET db_collation = NULL WHERE name LIKE 'testproc';
--exec $MYSQL_UPGRADE --skip-verbose --force 2> $MYSQLTEST_VARDIR/tmp/41569.txt --exec $MYSQL_UPGRADE --force 2> $MYSQLTEST_VARDIR/tmp/41569.txt
CALL testproc(); CALL testproc();
DROP PROCEDURE testproc; DROP PROCEDURE testproc;
--cat_file $MYSQLTEST_VARDIR/tmp/41569.txt --cat_file $MYSQLTEST_VARDIR/tmp/41569.txt
...@@ -119,7 +119,7 @@ DROP PROCEDURE testproc; ...@@ -119,7 +119,7 @@ DROP PROCEDURE testproc;
GRANT USAGE ON *.* TO 'user3'@'%'; GRANT USAGE ON *.* TO 'user3'@'%';
GRANT ALL PRIVILEGES ON `roelt`.`test2` TO 'user3'@'%'; GRANT ALL PRIVILEGES ON `roelt`.`test2` TO 'user3'@'%';
--echo Run mysql_upgrade with all privileges on a user --echo Run mysql_upgrade with all privileges on a user
--exec $MYSQL_UPGRADE --skip-verbose --force 2>&1 --exec $MYSQL_UPGRADE --force 2>&1
SHOW GRANTS FOR 'user3'@'%'; SHOW GRANTS FOR 'user3'@'%';
DROP USER 'user3'@'%'; DROP USER 'user3'@'%';
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment