diff options
Diffstat (limited to 'sql/sql_class.h')
-rw-r--r-- | sql/sql_class.h | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/sql/sql_class.h b/sql/sql_class.h index 2ca67133fe5..4fd4c0a1671 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -2158,21 +2158,21 @@ public: enter_cond(); this mutex is then released by exit_cond(). Usage must be: lock mutex; enter_cond(); your code; exit_cond(). */ - inline const char* enter_cond(pthread_cond_t *cond, pthread_mutex_t* mutex, - const char* msg) + inline const char* enter_cond(mysql_cond_t *cond, mysql_mutex_t* mutex, + const char* msg) { const char* old_msg = proc_info; - safe_mutex_assert_owner(mutex); + mysql_mutex_assert_owner(mutex); mysys_var->current_mutex = mutex; mysys_var->current_cond = cond; proc_info = msg; return old_msg; } - inline const char* enter_cond(mysql_cond_t *cond, mysql_mutex_t *mutex, + inline const char* enter_cond(pthread_cond_t *cond, pthread_mutex_t *mutex, const char *msg) { /* TO BE REMOVED: temporary helper, to help with merges */ - return enter_cond(&cond->m_cond, &mutex->m_mutex, msg); + return enter_cond((mysql_cond_t*) cond, (mysql_mutex_t*) mutex, msg); } inline void exit_cond(const char* old_msg) { @@ -2182,12 +2182,12 @@ public: 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); + mysql_mutex_unlock(mysys_var->current_mutex); + mysql_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); + mysql_mutex_unlock(&mysys_var->mutex); return; } inline time_t query_start() { query_start_used=1; return start_time; } @@ -2618,10 +2618,13 @@ public: virtual void set_statement(Statement *stmt); /** - Assign a new value to thd->query. + Assign a new value to thd->query and thd->query_id. Protected with LOCK_thd_data mutex. */ void set_query(char *query_arg, uint32 query_length_arg); + void set_query_and_id(char *query_arg, uint32 query_length_arg, + query_id_t new_query_id); + void set_query_id(query_id_t new_query_id); void enter_locked_tables_mode(enum_locked_tables_mode mode_arg) { DBUG_ASSERT(locked_tables_mode == LTM_NONE); |