mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge
BitKeeper/etc/logging_ok: auto-union Makefile.am: Auto merged mysql-test/mysql-test-run.sh: Auto merged mysql-test/r/information_schema_db.result: Auto merged sql/field.cc: Auto merged sql/field.h: Auto merged sql/ha_federated.cc: Auto merged sql/ha_innodb.cc: Auto merged sql/ha_myisam.cc: Auto merged sql/ha_myisammrg.cc: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/handler.cc: Auto merged sql/item.cc: Auto merged sql/log.cc: Auto merged sql/log_event.cc: Auto merged sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged sql/opt_range.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_insert.cc: Auto merged sql/sql_lex.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_load.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_repl.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_udf.cc: Auto merged sql/sql_yacc.yy: Auto merged sql/unireg.cc: Auto merged storage/innobase/row/row0mysql.c: Auto merged storage/innobase/srv/srv0start.c: Auto merged storage/innobase/trx/trx0trx.c: Auto merged storage/myisam/rt_split.c: Auto merged storage/myisammrg/myrg_open.c: Auto merged storage/ndb/src/common/debugger/SignalLoggerManager.cpp: Auto merged storage/ndb/src/common/util/File.cpp: Auto merged storage/ndb/src/cw/cpcd/Process.cpp: Auto merged storage/ndb/src/kernel/blocks/dbtux/Dbtux.hpp: Auto merged storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp: Auto merged storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp: Auto merged sql/sql_delete.cc: merge sql/sql_update.cc: merge sql/table.cc: SCCS merged support-files/mysql.spec.sh: merge
This commit is contained in:
@ -2203,12 +2203,14 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables,
|
||||
if ((table->table->db_stat & HA_READ_ONLY) && open_for_modify)
|
||||
{
|
||||
char buff[FN_REFLEN + MYSQL_ERRMSG_SIZE];
|
||||
uint length;
|
||||
protocol->prepare_for_resend();
|
||||
protocol->store(table_name, system_charset_info);
|
||||
protocol->store(operator_name, system_charset_info);
|
||||
protocol->store("error", 5, system_charset_info);
|
||||
my_snprintf(buff, sizeof(buff), ER(ER_OPEN_AS_READONLY), table_name);
|
||||
protocol->store(buff, system_charset_info);
|
||||
length= my_snprintf(buff, sizeof(buff), ER(ER_OPEN_AS_READONLY),
|
||||
table_name);
|
||||
protocol->store(buff, length, system_charset_info);
|
||||
close_thread_tables(thd);
|
||||
table->table=0; // For query cache
|
||||
if (protocol->write())
|
||||
@ -2239,6 +2241,17 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables,
|
||||
open_for_modify= 0;
|
||||
}
|
||||
|
||||
if (table->table->s->crashed && operator_func == &handler::check)
|
||||
{
|
||||
protocol->prepare_for_resend();
|
||||
protocol->store(table_name, system_charset_info);
|
||||
protocol->store(operator_name, system_charset_info);
|
||||
protocol->store("warning", 7, system_charset_info);
|
||||
protocol->store("Table is marked as crashed", 26, system_charset_info);
|
||||
if (protocol->write())
|
||||
goto err;
|
||||
}
|
||||
|
||||
result_code = (table->table->file->*operator_func)(thd, check_opt);
|
||||
|
||||
send_result:
|
||||
|
Reference in New Issue
Block a user