Fixed error handling bug
sql/sql_class.h: new function for clean out error message
This commit is contained in:
parent
4358ac0c9f
commit
a4e64e252d
@ -841,9 +841,9 @@ int Query_log_event::exec_event(struct st_relay_log_info* rli)
|
||||
VOID(pthread_mutex_lock(&LOCK_thread_count));
|
||||
thd->query_id = query_id++;
|
||||
VOID(pthread_mutex_unlock(&LOCK_thread_count));
|
||||
thd->query_error = 0; // clear error
|
||||
thd->net.last_errno = 0;
|
||||
thd->net.last_error[0] = 0;
|
||||
thd->query_error= 0; // clear error
|
||||
thd->clear_error();
|
||||
|
||||
thd->slave_proxy_id = thread_id; // for temp tables
|
||||
|
||||
/*
|
||||
|
@ -451,6 +451,7 @@ mc_simple_command(MYSQL *mysql,enum enum_server_command command,
|
||||
|
||||
mysql->net.last_error[0]=0;
|
||||
mysql->net.last_errno=0;
|
||||
mysql->net.report_error=0;
|
||||
mysql->info=0;
|
||||
mysql->affected_rows= ~(my_ulonglong) 0;
|
||||
net_clear(net); /* Clear receive buffer */
|
||||
|
@ -1464,9 +1464,8 @@ static int open_unireg_entry(THD *thd, TABLE *entry, const char *db,
|
||||
}
|
||||
}
|
||||
pthread_mutex_unlock(&LOCK_open);
|
||||
thd->net.last_error[0]=0; // Clear error message
|
||||
thd->net.last_errno=0;
|
||||
error=0;
|
||||
thd->clear_error(); // Clear error message
|
||||
error= 0;
|
||||
if (openfrm(path,alias,
|
||||
(uint) (HA_OPEN_KEYFILE | HA_OPEN_RNDFILE | HA_GET_INDEX |
|
||||
HA_TRY_READ_ONLY),
|
||||
@ -1476,8 +1475,7 @@ static int open_unireg_entry(THD *thd, TABLE *entry, const char *db,
|
||||
(entry->file->is_crashed() && entry->file->check_and_repair(thd)))
|
||||
{
|
||||
/* Give right error message */
|
||||
thd->net.last_error[0]=0;
|
||||
thd->net.last_errno=0;
|
||||
thd->clear_error();
|
||||
my_error(ER_NOT_KEYFILE, MYF(0), name, my_errno);
|
||||
sql_print_error("Error: Couldn't repair table: %s.%s",db,name);
|
||||
if (entry->file)
|
||||
@ -1486,8 +1484,7 @@ static int open_unireg_entry(THD *thd, TABLE *entry, const char *db,
|
||||
}
|
||||
else
|
||||
{
|
||||
thd->net.last_error[0]=0; // Clear error message
|
||||
thd->net.last_errno=0;
|
||||
thd->clear_error(); // Clear error message
|
||||
}
|
||||
pthread_mutex_lock(&LOCK_open);
|
||||
unlock_table_name(thd,&table_list);
|
||||
|
@ -625,6 +625,12 @@ public:
|
||||
void add_changed_table(const char *key, long key_length);
|
||||
CHANGED_TABLE_LIST * changed_table_dup(const char *key, long key_length);
|
||||
int send_explain_fields(select_result *result);
|
||||
inline void clear_error()
|
||||
{
|
||||
net.last_error[0]= 0;
|
||||
net.last_errno= 0;
|
||||
net.report_error= 0;
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -1180,7 +1180,7 @@ bool delayed_insert::handle_inserts(void)
|
||||
table->file->extra(HA_EXTRA_IGNORE_DUP_KEY);
|
||||
using_ignore=1;
|
||||
}
|
||||
thd.net.last_errno = 0; // reset error for binlog
|
||||
thd.clear_error(); // reset error for binlog
|
||||
if (write_record(table,&info))
|
||||
{
|
||||
info.error_count++; // Ignore errors
|
||||
|
@ -857,8 +857,7 @@ bool do_command(THD *thd)
|
||||
old_timeout=net->read_timeout;
|
||||
// Wait max for 8 hours
|
||||
net->read_timeout=(uint) thd->variables.net_wait_timeout;
|
||||
net->last_error[0]=0; // Clear error message
|
||||
net->last_errno=0;
|
||||
thd->clear_error(); // Clear error message
|
||||
|
||||
net_new_transaction(net);
|
||||
if ((packet_length=my_net_read(net)) == packet_error)
|
||||
|
Loading…
x
Reference in New Issue
Block a user