diff options
author | Michael Widenius <monty@askmonty.org> | 2014-01-22 15:16:57 +0200 |
---|---|---|
committer | Michael Widenius <monty@askmonty.org> | 2014-01-22 15:16:57 +0200 |
commit | 04bee0af2e8d663fd06e5dc4ecdc2b64b30440ea (patch) | |
tree | 5fe06b88ed779592ae59b33690cae7223a4ef22f /client | |
parent | 5e02635eb846214b462ed4ab45b2142a08dc5a91 (diff) | |
download | mariadb-git-04bee0af2e8d663fd06e5dc4ecdc2b64b30440ea.tar.gz |
Fix for MDEV-5547: Bad error message when moving very old .frm files to MariaDB 5.5.
mysql_upgrade --help now also prints out --default options and variable values.
mysql_upgrade now prints permission errors.
mysql_upgrade doesn't print some non essential info if --silent is used.
Added handler error message about incompatible versions
Fixed that mysqlbug and mysql_install_db have the executable flag set.
Removed executable flag for some non executable files.
Changed in mysql_install_db askmonty.org to mariadb.com.
Ensured that all client executables prints --default options the same way.
Allow REPAIR ... USE_FRM for old .frm files if the are still compatible.
Extended shown error for storage engine messages.
client/mysql.cc:
print_defaults() should be first (as in all other programs)
client/mysql_upgrade.c:
--help now also prints out --default options and variable values
Print out error if wrong permissions
Don't print info if --silent
client/mysqladmin.cc:
print_defaults() should be first (as in all other programs)
client/mysqlbinlog.cc:
Added print_defaults() to --help
client/mysqlcheck.c:
Added empty line in --help
client/mysqlimport.c:
Added empty line in --help
client/mysqlshow.c:
Made --help compatible
client/mysqlslap.c:
Made --help compatible
client/mysqltest.cc:
Added print_defaults() to --help
include/handler_ername.h:
Added handler error message
include/my_base.h:
Added handler error message
mysql-test/r/mysql_upgrade.result:
Updated results
mysql-test/r/repair.result:
Added test case for better error messages
mysql-test/std_data/host_old.MYD:
Added test case for better error messages
mysql-test/std_data/host_old.MYI:
Added test case for better error messages
mysql-test/std_data/host_old.frm:
Added test case for better error messages
mysql-test/t/repair.test:
Added test case for better error messages
mysys/my_handler_errors.h:
Added handler error message
scripts/CMakeLists.txt:
Fixed that mysqlbug and mysql_install_db have the executable flag set
scripts/mysql_install_db.sh:
askmonty.org -> mariadb.com
sql/ha_partition.cc:
Sometimes table_type() can be called for errors even if partition didn't manage to open any files
sql/handler.cc:
Write clear text for not handled, but defined error messages.
sql/share/errmsg-utf8.txt:
Extended shown error for storage engine messages
sql/sql_admin.cc:
Allow REPAIR ... USE_FRM for old .frm files if the are still compatible
storage/myisam/ha_myisam.cc:
Use new error message
Diffstat (limited to 'client')
-rw-r--r-- | client/mysql.cc | 3 | ||||
-rw-r--r-- | client/mysql_upgrade.c | 35 | ||||
-rw-r--r-- | client/mysqladmin.cc | 3 | ||||
-rw-r--r-- | client/mysqlbinlog.cc | 2 | ||||
-rw-r--r-- | client/mysqlcheck.c | 1 | ||||
-rw-r--r-- | client/mysqldump.c | 3 | ||||
-rw-r--r-- | client/mysqlimport.c | 3 | ||||
-rw-r--r-- | client/mysqlshow.c | 1 | ||||
-rw-r--r-- | client/mysqlslap.c | 2 | ||||
-rw-r--r-- | client/mysqltest.cc | 3 |
10 files changed, 41 insertions, 15 deletions
diff --git a/client/mysql.cc b/client/mysql.cc index a37392c7fc5..c2bfdce2f74 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -1672,8 +1672,9 @@ static void usage(int version) return; puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000")); printf("Usage: %s [OPTIONS] [database]\n", my_progname); - my_print_help(my_long_options); print_defaults("my", load_default_groups); + puts(""); + my_print_help(my_long_options); my_print_variables(my_long_options); } diff --git a/client/mysql_upgrade.c b/client/mysql_upgrade.c index 9e39b7273ea..8529ab91015 100644 --- a/client/mysql_upgrade.c +++ b/client/mysql_upgrade.c @@ -22,7 +22,7 @@ #include <welcome_copyright_notice.h> /* ORACLE_WELCOME_COPYRIGHT_NOTICE */ -#define VER "1.3" +#define VER "1.3a" #ifdef HAVE_SYS_WAIT_H #include <sys/wait.h> @@ -164,6 +164,15 @@ static struct my_option my_long_options[]= }; +static const char *load_default_groups[]= +{ + "client", /* Read settings how to connect to server */ + "mysql_upgrade", /* Read special settings for mysql_upgrade */ + "client-server", /* Reads settings common between client & server */ + "client-mariadb", /* Read mariadb unique client settings */ + 0 +}; + static void free_used_memory(void) { /* Free memory allocated by 'load_defaults' */ @@ -180,6 +189,7 @@ static void die(const char *fmt, ...) DBUG_ENTER("die"); /* Print the error message */ + fflush(stdout); va_start(args, fmt); if (fmt) { @@ -259,8 +269,11 @@ get_one_option(int optid, const struct my_option *opt, printf("%s Ver %s Distrib %s, for %s (%s)\n", my_progname, VER, MYSQL_SERVER_VERSION, SYSTEM_TYPE, MACHINE_TYPE); puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000")); - puts("MariaDB utility for upgrading databases to new MariaDB versions.\n"); + puts("MariaDB utility for upgrading databases to new MariaDB versions."); + print_defaults("my", load_default_groups); + puts(""); my_print_help(my_long_options); + my_print_variables(my_long_options); die(0); break; @@ -736,6 +749,7 @@ static int run_mysqlcheck_upgrade(void) !opt_silent || opt_verbose ? "--verbose": "", opt_silent ? "--silent": "", opt_write_binlog ? "--write-binlog" : "--skip-write-binlog", + "2>&1", NULL); } @@ -754,6 +768,7 @@ static int run_mysqlcheck_fixnames(void) opt_verbose ? "--verbose": "", opt_silent ? "--silent": "", opt_write_binlog ? "--write-binlog" : "--skip-write-binlog", + "2>&1", NULL); } @@ -855,14 +870,11 @@ static int run_sql_fix_privilege_tables(void) } -static const char *load_default_groups[]= +static void print_error(const char *error_msg, DYNAMIC_STRING *output) { - "client", /* Read settings how to connect to server */ - "mysql_upgrade", /* Read special settings for mysql_upgrade */ - "client-server", /* Reads settings common between client & server */ - "client-mariadb", /* Read mariadb unique client settings */ - 0 -}; + fprintf(stderr, "%s\n", error_msg); + fprintf(stderr, "%s", output->str); +} /* Convert the specified version string into the numeric format. */ @@ -895,6 +907,8 @@ static int check_version_match(void) &ds_version, FALSE) || extract_variable_from_show(&ds_version, version_str)) { + print_error("Version check failed. Got the following error when calling " + "the 'mysql' command line client", &ds_version); dynstr_free(&ds_version); return 1; /* Query failed */ } @@ -963,7 +977,8 @@ int main(int argc, char **argv) } else { - printf("The --upgrade-system-tables option was used, databases won't be touched.\n"); + if (!opt_silent) + printf("The --upgrade-system-tables option was used, databases won't be touched.\n"); } /* diff --git a/client/mysqladmin.cc b/client/mysqladmin.cc index e4a45d52f83..dd35547a2c2 100644 --- a/client/mysqladmin.cc +++ b/client/mysqladmin.cc @@ -1179,9 +1179,10 @@ static void usage(void) puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000")); puts("Administration program for the mysqld daemon."); printf("Usage: %s [OPTIONS] command command....\n", my_progname); + print_defaults("my",load_default_groups); + puts(""); my_print_help(my_long_options); my_print_variables(my_long_options); - print_defaults("my",load_default_groups); puts("\nWhere command is a one or more of: (Commands may be shortened)\n\ create databasename Create a new database\n\ debug Instruct server to write debug information to log\n\ diff --git a/client/mysqlbinlog.cc b/client/mysqlbinlog.cc index 408a7c36139..990fadadae2 100644 --- a/client/mysqlbinlog.cc +++ b/client/mysqlbinlog.cc @@ -1542,6 +1542,8 @@ static void usage() Dumps a MySQL binary log in a format usable for viewing or for piping to\n\ the mysql command line client.\n\n"); printf("Usage: %s [options] log-files\n", my_progname); + print_defaults("my",load_groups); + puts(""); my_print_help(my_options); my_print_variables(my_options); } diff --git a/client/mysqlcheck.c b/client/mysqlcheck.c index 7462c7561f6..b9053c3a142 100644 --- a/client/mysqlcheck.c +++ b/client/mysqlcheck.c @@ -250,6 +250,7 @@ static void usage(void) puts("http://kb.askmonty.org/v/mysqlcheck for latest information about"); puts("this program."); print_defaults("my", load_default_groups); + puts(""); my_print_help(my_long_options); my_print_variables(my_long_options); DBUG_VOID_RETURN; diff --git a/client/mysqldump.c b/client/mysqldump.c index bf3697f2b84..88aae2d4321 100644 --- a/client/mysqldump.c +++ b/client/mysqldump.c @@ -612,7 +612,8 @@ static void usage(void) puts("Dumping structure and contents of MySQL databases and tables."); short_usage_sub(); print_defaults("my",load_default_groups); - my_print_help(my_long_options); + puts(""); +my_print_help(my_long_options); my_print_variables(my_long_options); } /* usage */ diff --git a/client/mysqlimport.c b/client/mysqlimport.c index 77d0cd0a7d3..686f26cebeb 100644 --- a/client/mysqlimport.c +++ b/client/mysqlimport.c @@ -216,8 +216,9 @@ If one uses sockets to connect to the MySQL server, the server will open and\n\ read the text file directly. In other cases the client will open the text\n\ file. The SQL command 'LOAD DATA INFILE' is used to import the rows.\n"); - printf("\nUsage: %s [OPTIONS] database textfile...",my_progname); + printf("\nUsage: %s [OPTIONS] database textfile...\n",my_progname); print_defaults("my",load_default_groups); + puts(""); my_print_help(my_long_options); my_print_variables(my_long_options); } diff --git a/client/mysqlshow.c b/client/mysqlshow.c index 323c4282ff4..5bcdd911cfd 100644 --- a/client/mysqlshow.c +++ b/client/mysqlshow.c @@ -279,6 +279,7 @@ If no table is given, then all matching tables in database are shown.\n\ If no column is given, then all matching columns and column types in table\n\ are shown."); print_defaults("my",load_default_groups); + puts(""); my_print_help(my_long_options); my_print_variables(my_long_options); } diff --git a/client/mysqlslap.c b/client/mysqlslap.c index 202fcf7950f..536535be294 100644 --- a/client/mysqlslap.c +++ b/client/mysqlslap.c @@ -732,7 +732,9 @@ static void usage(void) puts("Run a query multiple times against the server.\n"); printf("Usage: %s [OPTIONS]\n",my_progname); print_defaults("my",load_default_groups); + puts(""); my_print_help(my_long_options); + my_print_variables(my_long_options); } diff --git a/client/mysqltest.cc b/client/mysqltest.cc index 22645c89067..68d220b26c0 100644 --- a/client/mysqltest.cc +++ b/client/mysqltest.cc @@ -7003,8 +7003,9 @@ void usage() puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000")); printf("Runs a test against the mysql server and compares output with a results file.\n\n"); printf("Usage: %s [OPTIONS] [database] < test_file\n", my_progname); + print_defaults("my",load_default_groups); + puts(""); my_print_help(my_long_options); - printf(" --no-defaults Don't read default options from any options file.\n"); my_print_variables(my_long_options); } |