mirror of
https://github.com/MariaDB/server.git
synced 2025-01-28 17:54:16 +01:00
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
This commit is contained in:
parent
5e02635eb8
commit
04bee0af2e
29 changed files with 142 additions and 41 deletions
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -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\
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 */
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -78,3 +78,4 @@
|
|||
{ "HA_ERR_ROW_NOT_VISIBLE", HA_ERR_ROW_NOT_VISIBLE, "" },
|
||||
{ "HA_ERR_ABORTED_BY_USER", HA_ERR_ABORTED_BY_USER, "" },
|
||||
{ "HA_ERR_DISK_FULL", HA_ERR_DISK_FULL, "" },
|
||||
{ "HA_ERR_INCOMPATIBLE_DEFINITION", HA_ERR_INCOMPATIBLE_DEFINITION, "" },
|
||||
|
|
|
@ -466,7 +466,8 @@ enum ha_base_keytype {
|
|||
#define HA_ERR_ROW_NOT_VISIBLE 182
|
||||
#define HA_ERR_ABORTED_BY_USER 183
|
||||
#define HA_ERR_DISK_FULL 184
|
||||
#define HA_ERR_LAST 184 /* Copy of last error nr */
|
||||
#define HA_ERR_INCOMPATIBLE_DEFINITION 185
|
||||
#define HA_ERR_LAST 185 /* Copy of last error nr */
|
||||
|
||||
/* Number of different errors */
|
||||
#define HA_ERR_ERRORS (HA_ERR_LAST - HA_ERR_FIRST + 1)
|
||||
|
|
|
@ -108,6 +108,9 @@ test
|
|||
Phase 3/3: Running 'mysql_fix_privilege_tables'...
|
||||
OK
|
||||
DROP USER mysqltest1@'%';
|
||||
Version check failed. Got the following error when calling the 'mysql' command line client
|
||||
ERROR 1045 (28000): Access denied for user 'mysqltest1'@'localhost' (using password: YES)
|
||||
FATAL ERROR: Upgrade failed
|
||||
Run mysql_upgrade with a non existing server socket
|
||||
mysqlcheck: Got error: 2005: Unknown MySQL server host 'not_existing_host' (errno) when trying to connect
|
||||
FATAL ERROR: Upgrade failed
|
||||
|
|
|
@ -130,26 +130,25 @@ test.t1 check error Table upgrade required. Please do "REPAIR TABLE `t1`" or dum
|
|||
# REPAIR old table USE_FRM should fail
|
||||
REPAIR TABLE t1 USE_FRM;
|
||||
Table Op Msg_type Msg_text
|
||||
t1 repair error Failed repairing incompatible .frm file
|
||||
test.t1 repair warning Number of rows changed from 0 to 1
|
||||
test.t1 repair status OK
|
||||
# Run REPAIR TABLE to upgrade .frm file
|
||||
REPAIR TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair status OK
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 MyISAM 10 Fixed 2 7 14 1970324836974591 1024 0 NULL # # NULL latin1_swedish_ci NULL
|
||||
t1 MyISAM 10 Fixed 1 7 7 1970324836974591 1024 0 NULL # # NULL latin1_swedish_ci NULL
|
||||
SELECT * FROM t1;
|
||||
id
|
||||
1
|
||||
2
|
||||
REPAIR TABLE t1 USE_FRM;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair warning Number of rows changed from 0 to 2
|
||||
test.t1 repair warning Number of rows changed from 0 to 1
|
||||
test.t1 repair status OK
|
||||
SELECT * FROM t1;
|
||||
id
|
||||
1
|
||||
2
|
||||
DROP TABLE t1;
|
||||
DROP TABLE IF EXISTS tt1;
|
||||
CREATE TEMPORARY TABLE tt1 (c1 INT);
|
||||
|
@ -183,3 +182,28 @@ test.t1 repair status OK
|
|||
test.t2 repair status OK
|
||||
set @@autocommit= default;
|
||||
drop tables t1, t2;
|
||||
#
|
||||
# Check that we have decent error messages when using crashed
|
||||
# .frm file from MySQL 3.23
|
||||
#
|
||||
# Test with a saved table from 3.23
|
||||
select count(*) from t1;
|
||||
ERROR HY000: Got error 185 'Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine. You have to dump and restore the table to fix this' from MyISAM
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check Error Got error 185 'Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine. You have to dump and restore the table to fix this' from MyISAM
|
||||
test.t1 check error Corrupt
|
||||
repair table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair Error Got error 185 'Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine. You have to dump and restore the table to fix this' from MyISAM
|
||||
test.t1 repair error Corrupt
|
||||
repair table t1 use_frm;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair status OK
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
0
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
||||
|
|
0
mysql-test/std_data/host_old.MYD
Normal file
0
mysql-test/std_data/host_old.MYD
Normal file
BIN
mysql-test/std_data/host_old.MYI
Normal file
BIN
mysql-test/std_data/host_old.MYI
Normal file
Binary file not shown.
BIN
mysql-test/std_data/host_old.frm
Normal file
BIN
mysql-test/std_data/host_old.frm
Normal file
Binary file not shown.
|
@ -40,6 +40,11 @@ GRANT ALL ON *.* TO mysqltest1@'%';
|
|||
|
||||
DROP USER mysqltest1@'%';
|
||||
|
||||
#
|
||||
# check that we get proper error messages if wrong user
|
||||
|
||||
--error 1
|
||||
--exec $MYSQL_UPGRADE --force --user=mysqltest1 --password=sakila 2>&1
|
||||
|
||||
#
|
||||
# Bug #26639 mysql_upgrade exits successfully even if external command failed
|
||||
|
|
|
@ -188,3 +188,23 @@ set @@autocommit= 0;
|
|||
repair table t1, t2;
|
||||
set @@autocommit= default;
|
||||
drop tables t1, t2;
|
||||
|
||||
--echo #
|
||||
--echo # Check that we have decent error messages when using crashed
|
||||
--echo # .frm file from MySQL 3.23
|
||||
--echo #
|
||||
|
||||
--echo # Test with a saved table from 3.23
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
--copy_file std_data/host_old.frm $MYSQLD_DATADIR/test/t1.frm
|
||||
--copy_file std_data/host_old.MYD $MYSQLD_DATADIR/test/t1.MYD
|
||||
--copy_file std_data/host_old.MYI $MYSQLD_DATADIR/test/t1.MYI
|
||||
|
||||
--error ER_GET_ERRMSG
|
||||
select count(*) from t1;
|
||||
check table t1;
|
||||
repair table t1;
|
||||
repair table t1 use_frm;
|
||||
select count(*) from t1;
|
||||
check table t1;
|
||||
drop table t1;
|
||||
|
|
|
@ -86,7 +86,8 @@ static const char *handler_error_messages[]=
|
|||
"Table is being used in foreign key check",
|
||||
"Row is not visible by the current transaction",
|
||||
"Operation was interrupted by end user (probably kill command?)",
|
||||
"Disk full"
|
||||
"Disk full",
|
||||
"Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine. You have to dump and restore the table to fix this"
|
||||
};
|
||||
|
||||
#endif /* MYSYS_MY_HANDLER_ERRORS_INCLUDED */
|
||||
|
|
|
@ -172,6 +172,10 @@ ENDIF()
|
|||
|
||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysqlbug.sh
|
||||
${CMAKE_CURRENT_BINARY_DIR}/mysqlbug ESCAPE_QUOTES @ONLY)
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND chmod +x ${CMAKE_CURRENT_BINARY_DIR}/mysqlbug
|
||||
)
|
||||
|
||||
INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/mysqlbug
|
||||
DESTINATION ${INSTALL_BINDIR}
|
||||
COMPONENT Server
|
||||
|
@ -205,6 +209,10 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql_install_db.sh
|
|||
${CMAKE_CURRENT_BINARY_DIR}/mysql_install_db ESCAPE_QUOTES @ONLY)
|
||||
SET(DEST ${INSTALL_SCRIPTDIR})
|
||||
SET(EXT)
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND chmod +x ${CMAKE_CURRENT_BINARY_DIR}/mysql_install_db
|
||||
)
|
||||
|
||||
INSTALL_SCRIPT(
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/mysql_install_db"
|
||||
DESTINATION ${DEST}
|
||||
|
|
|
@ -90,7 +90,7 @@ link_to_help()
|
|||
{
|
||||
echo
|
||||
echo "The latest information about mysql_install_db is available at"
|
||||
echo "http://kb.askmonty.org/v/installing-system-tables-mysql_install_db."
|
||||
echo "https://mariadb.com/kb/en/installing-system-tables-mysql_install_db"
|
||||
}
|
||||
|
||||
parse_arg()
|
||||
|
@ -492,7 +492,7 @@ then
|
|||
echo "databases and anonymous user created by default. This is"
|
||||
echo "strongly recommended for production servers."
|
||||
echo
|
||||
echo "See the MariaDB Knowledgebase at http://kb.askmonty.org or the"
|
||||
echo "See the MariaDB Knowledgebase at http://mariadb.com/kb or the"
|
||||
echo "MySQL manual for more instructions."
|
||||
|
||||
if test "$in_rpm" -eq 0
|
||||
|
@ -512,9 +512,9 @@ then
|
|||
echo "You can find additional information about the MySQL part at:"
|
||||
echo "http://dev.mysql.com"
|
||||
echo "Support MariaDB development by buying support/new features from"
|
||||
echo "Monty Program Ab. You can contact us about this at sales@montyprogram.com".
|
||||
echo "SkySQL Ab. You can contact us about this at sales@skysql.com".
|
||||
echo "Alternatively consider joining our community based development effort:"
|
||||
echo "http://kb.askmonty.org/en/contributing-to-the-mariadb-project/"
|
||||
echo "http://mariadb.com/kb/en/contributing-to-the-mariadb-project/"
|
||||
echo
|
||||
fi
|
||||
|
||||
|
|
0
scripts/mysql_secure_installation.pl.in
Executable file → Normal file
0
scripts/mysql_secure_installation.pl.in
Executable file → Normal file
0
scripts/mytop.sh
Executable file → Normal file
0
scripts/mytop.sh
Executable file → Normal file
|
@ -305,7 +305,7 @@ void ha_partition::init_handler_variables()
|
|||
const char *ha_partition::table_type() const
|
||||
{
|
||||
// we can do this since we only support a single engine type
|
||||
return m_file[0]->table_type();
|
||||
return m_file && m_file[0] ? m_file[0]->table_type() : "Unknown";
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
#include "probes_mysql.h"
|
||||
#include "debug_sync.h" // DEBUG_SYNC
|
||||
#include "sql_audit.h"
|
||||
#include "../mysys/my_handler_errors.h"
|
||||
|
||||
#ifdef WITH_PARTITION_STORAGE_ENGINE
|
||||
#include "ha_partition.h"
|
||||
|
@ -3139,8 +3140,18 @@ void handler::print_error(int error, myf errflag)
|
|||
my_error(ER_GET_ERRMSG, errflag, error, str.c_ptr(), engine);
|
||||
}
|
||||
}
|
||||
else if (error >= HA_ERR_FIRST && error <= HA_ERR_LAST)
|
||||
{
|
||||
const char* engine= table_type();
|
||||
const char *errmsg= handler_error_messages[error - HA_ERR_FIRST];
|
||||
my_error(ER_GET_ERRMSG, errflag, error, errmsg, engine);
|
||||
SET_FATAL_ERROR;
|
||||
}
|
||||
else
|
||||
my_error(ER_GET_ERRNO,errflag,error);
|
||||
{
|
||||
my_error(ER_GET_ERRNO, errflag,error);
|
||||
/* SET_FATAL_ERROR; */
|
||||
}
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5067,17 +5067,17 @@ ER_UNSUPPORTED_PS
|
|||
eng "This command is not supported in the prepared statement protocol yet"
|
||||
ger "Dieser Befehl wird im Protokoll für vorbereitete Anweisungen noch nicht unterstützt"
|
||||
ER_GET_ERRMSG
|
||||
dan "Modtog fejl %d '%-.100s' fra %s"
|
||||
eng "Got error %d '%-.100s' from %s"
|
||||
ger "Fehler %d '%-.100s' von %s"
|
||||
nor "Mottok feil %d '%-.100s' fa %s"
|
||||
norwegian-ny "Mottok feil %d '%-.100s' fra %s"
|
||||
dan "Modtog fejl %d '%-.200s' fra %s"
|
||||
eng "Got error %d '%-.200s' from %s"
|
||||
ger "Fehler %d '%-.200s' von %s"
|
||||
nor "Mottok feil %d '%-.200s' fa %s"
|
||||
norwegian-ny "Mottok feil %d '%-.200s' fra %s"
|
||||
ER_GET_TEMPORARY_ERRMSG
|
||||
dan "Modtog temporary fejl %d '%-.100s' fra %s"
|
||||
eng "Got temporary error %d '%-.100s' from %s"
|
||||
ger "Temporärer Fehler %d '%-.100s' von %s"
|
||||
nor "Mottok temporary feil %d '%-.100s' fra %s"
|
||||
norwegian-ny "Mottok temporary feil %d '%-.100s' fra %s"
|
||||
dan "Modtog temporary fejl %d '%-.200s' fra %s"
|
||||
eng "Got temporary error %d '%-.200s' from %s"
|
||||
ger "Temporärer Fehler %d '%-.200s' von %s"
|
||||
nor "Mottok temporary feil %d '%-.200s' fra %s"
|
||||
norwegian-ny "Mottok temporary feil %d '%-.200s' fra %s"
|
||||
ER_UNKNOWN_TIME_ZONE
|
||||
eng "Unknown or incorrect time zone: '%-.64s'"
|
||||
ger "Unbekannte oder falsche Zeitzone: '%-.64s'"
|
||||
|
|
|
@ -162,10 +162,11 @@ static int prepare_for_repair(THD *thd, TABLE_LIST *table_list,
|
|||
- Run a normal repair using the new index file and the old data file
|
||||
*/
|
||||
|
||||
if (table->s->frm_version != FRM_VER_TRUE_VARCHAR)
|
||||
if (table->s->frm_version != FRM_VER_TRUE_VARCHAR &&
|
||||
table->s->varchar_fields)
|
||||
{
|
||||
error= send_check_errmsg(thd, table_list, "repair",
|
||||
"Failed repairing incompatible .frm file");
|
||||
"Failed repairing a very old .frm file as the data file format has changed between versions. Please dump the table in your old system with mysqldump and read it into this system with mysql or mysqlimport");
|
||||
goto end;
|
||||
}
|
||||
|
||||
|
|
|
@ -762,7 +762,7 @@ int ha_myisam::open(const char *name, int mode, uint test_if_locked)
|
|||
true, table))
|
||||
{
|
||||
/* purecov: begin inspected */
|
||||
my_errno= HA_ERR_CRASHED;
|
||||
my_errno= HA_ERR_INCOMPATIBLE_DEFINITION;
|
||||
goto err;
|
||||
/* purecov: end */
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue