mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Manual merge 5.1-rep+2 to 5.1-rep+3
This commit is contained in:
@ -14,6 +14,9 @@
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
||||
|
||||
|
||||
#ifndef SQL_CLASS_INCLUDED
|
||||
#define SQL_CLASS_INCLUDED
|
||||
|
||||
/* Classes in mysql */
|
||||
|
||||
#ifdef USE_PRAGMA_INTERFACE
|
||||
@ -22,6 +25,7 @@
|
||||
|
||||
#include "log.h"
|
||||
#include "rpl_tblmap.h"
|
||||
#include "replication.h"
|
||||
|
||||
/**
|
||||
An interface that is used to take an action when
|
||||
@ -1759,9 +1763,6 @@ public:
|
||||
query_id_t query_id, warn_id;
|
||||
ulong col_access;
|
||||
|
||||
#ifdef ERROR_INJECT_SUPPORT
|
||||
ulong error_inject_value;
|
||||
#endif
|
||||
/* Statement id is thread-wide. This counter is used to generate ids */
|
||||
ulong statement_id_counter;
|
||||
ulong rand_saved_seed1, rand_saved_seed2;
|
||||
@ -1971,27 +1972,11 @@ public:
|
||||
inline const char* enter_cond(pthread_cond_t *cond, pthread_mutex_t* mutex,
|
||||
const char* msg)
|
||||
{
|
||||
const char* old_msg = proc_info;
|
||||
safe_mutex_assert_owner(mutex);
|
||||
mysys_var->current_mutex = mutex;
|
||||
mysys_var->current_cond = cond;
|
||||
proc_info = msg;
|
||||
return old_msg;
|
||||
return thd_enter_cond(this, cond, mutex, msg);
|
||||
}
|
||||
inline void exit_cond(const char* old_msg)
|
||||
{
|
||||
/*
|
||||
Putting the mutex unlock in exit_cond() ensures that
|
||||
mysys_var->current_mutex is always unlocked _before_ mysys_var->mutex is
|
||||
locked (if that would not be the case, you'll get a deadlock if someone
|
||||
does a THD::awake() on you).
|
||||
*/
|
||||
pthread_mutex_unlock(mysys_var->current_mutex);
|
||||
pthread_mutex_lock(&mysys_var->mutex);
|
||||
mysys_var->current_mutex = 0;
|
||||
mysys_var->current_cond = 0;
|
||||
proc_info = old_msg;
|
||||
pthread_mutex_unlock(&mysys_var->mutex);
|
||||
thd_exit_cond(this, old_msg);
|
||||
}
|
||||
inline time_t query_start() { query_start_used=1; return start_time; }
|
||||
inline void set_time()
|
||||
@ -3058,3 +3043,4 @@ void add_diff_to_status(STATUS_VAR *to_var, STATUS_VAR *from_var,
|
||||
void mark_transaction_to_rollback(THD *thd, bool all);
|
||||
|
||||
#endif /* MYSQL_SERVER */
|
||||
#endif /* SQL_CLASS_INCLUDED */
|
||||
|
Reference in New Issue
Block a user