Loading .bzrignore +1 −0 Original line number Diff line number Diff line Loading @@ -546,3 +546,4 @@ vio/viotest-ssl scripts/make_win_binary_distribution EXCEPTIONS-CLIENT support-files/my-innodb-heavy-4G.cnf ac_available_languages_fragment include/thr_lock.h +1 −1 Original line number Diff line number Diff line Loading @@ -107,7 +107,7 @@ void thr_unlock(THR_LOCK_DATA *data); int thr_multi_lock(THR_LOCK_DATA **data,uint count); void thr_multi_unlock(THR_LOCK_DATA **data,uint count); void thr_abort_locks(THR_LOCK *lock); bool thr_abort_locks_for_thread(THR_LOCK *lock, pthread_t thread); my_bool thr_abort_locks_for_thread(THR_LOCK *lock, pthread_t thread); void thr_print_locks(void); /* For debugging */ my_bool thr_upgrade_write_delay_lock(THR_LOCK_DATA *data); my_bool thr_reschedule_write_lock(THR_LOCK_DATA *data); Loading mysys/thr_lock.c +2 −2 Original line number Diff line number Diff line Loading @@ -966,10 +966,10 @@ void thr_abort_locks(THR_LOCK *lock) This is used to abort all locks for a specific thread */ bool thr_abort_locks_for_thread(THR_LOCK *lock, pthread_t thread) my_bool thr_abort_locks_for_thread(THR_LOCK *lock, pthread_t thread) { THR_LOCK_DATA *data; bool found= FALSE; my_bool found= FALSE; DBUG_ENTER("thr_abort_locks_for_thread"); pthread_mutex_lock(&lock->mutex); Loading sql/lock.cc +15 −5 Original line number Diff line number Diff line Loading @@ -331,7 +331,18 @@ void mysql_lock_abort(THD *thd, TABLE *table) } /* Abort one thread / table combination */ /* Abort one thread / table combination SYNOPSIS mysql_lock_abort_for_thread() thd Thread handler table Table that should be removed from lock queue RETURN 0 Table was not locked by another thread 1 Table was locked by at least one other thread */ bool mysql_lock_abort_for_thread(THD *thd, TABLE *table) { Loading @@ -344,10 +355,9 @@ bool mysql_lock_abort_for_thread(THD *thd, TABLE *table) { for (uint i=0; i < locked->lock_count; i++) { bool found; found= thr_abort_locks_for_thread(locked->locks[i]->lock, table->in_use->real_id); result|= found; if (thr_abort_locks_for_thread(locked->locks[i]->lock, table->in_use->real_id)) result= TRUE; } my_free((gptr) locked,MYF(0)); } Loading sql/mysql_priv.h +3 −0 Original line number Diff line number Diff line Loading @@ -606,12 +606,15 @@ bool rename_temporary_table(THD* thd, TABLE *table, const char *new_db, const char *table_name); void remove_db_from_cache(const my_string db); void flush_tables(); /* bits for last argument to remove_table_from_cache() */ #define RTFC_NO_FLAG 0x0000 #define RTFC_OWNED_BY_THD_FLAG 0x0001 #define RTFC_WAIT_OTHER_THREAD_FLAG 0x0002 #define RTFC_CHECK_KILLED_FLAG 0x0004 bool remove_table_from_cache(THD *thd, const char *db, const char *table, uint flags); bool close_cached_tables(THD *thd, bool wait_for_refresh, TABLE_LIST *tables); void copy_field_from_tmp_record(Field *field,int offset); int fill_record(List<Item> &fields,List<Item> &values, bool ignore_errors); Loading Loading
.bzrignore +1 −0 Original line number Diff line number Diff line Loading @@ -546,3 +546,4 @@ vio/viotest-ssl scripts/make_win_binary_distribution EXCEPTIONS-CLIENT support-files/my-innodb-heavy-4G.cnf ac_available_languages_fragment
include/thr_lock.h +1 −1 Original line number Diff line number Diff line Loading @@ -107,7 +107,7 @@ void thr_unlock(THR_LOCK_DATA *data); int thr_multi_lock(THR_LOCK_DATA **data,uint count); void thr_multi_unlock(THR_LOCK_DATA **data,uint count); void thr_abort_locks(THR_LOCK *lock); bool thr_abort_locks_for_thread(THR_LOCK *lock, pthread_t thread); my_bool thr_abort_locks_for_thread(THR_LOCK *lock, pthread_t thread); void thr_print_locks(void); /* For debugging */ my_bool thr_upgrade_write_delay_lock(THR_LOCK_DATA *data); my_bool thr_reschedule_write_lock(THR_LOCK_DATA *data); Loading
mysys/thr_lock.c +2 −2 Original line number Diff line number Diff line Loading @@ -966,10 +966,10 @@ void thr_abort_locks(THR_LOCK *lock) This is used to abort all locks for a specific thread */ bool thr_abort_locks_for_thread(THR_LOCK *lock, pthread_t thread) my_bool thr_abort_locks_for_thread(THR_LOCK *lock, pthread_t thread) { THR_LOCK_DATA *data; bool found= FALSE; my_bool found= FALSE; DBUG_ENTER("thr_abort_locks_for_thread"); pthread_mutex_lock(&lock->mutex); Loading
sql/lock.cc +15 −5 Original line number Diff line number Diff line Loading @@ -331,7 +331,18 @@ void mysql_lock_abort(THD *thd, TABLE *table) } /* Abort one thread / table combination */ /* Abort one thread / table combination SYNOPSIS mysql_lock_abort_for_thread() thd Thread handler table Table that should be removed from lock queue RETURN 0 Table was not locked by another thread 1 Table was locked by at least one other thread */ bool mysql_lock_abort_for_thread(THD *thd, TABLE *table) { Loading @@ -344,10 +355,9 @@ bool mysql_lock_abort_for_thread(THD *thd, TABLE *table) { for (uint i=0; i < locked->lock_count; i++) { bool found; found= thr_abort_locks_for_thread(locked->locks[i]->lock, table->in_use->real_id); result|= found; if (thr_abort_locks_for_thread(locked->locks[i]->lock, table->in_use->real_id)) result= TRUE; } my_free((gptr) locked,MYF(0)); } Loading
sql/mysql_priv.h +3 −0 Original line number Diff line number Diff line Loading @@ -606,12 +606,15 @@ bool rename_temporary_table(THD* thd, TABLE *table, const char *new_db, const char *table_name); void remove_db_from_cache(const my_string db); void flush_tables(); /* bits for last argument to remove_table_from_cache() */ #define RTFC_NO_FLAG 0x0000 #define RTFC_OWNED_BY_THD_FLAG 0x0001 #define RTFC_WAIT_OTHER_THREAD_FLAG 0x0002 #define RTFC_CHECK_KILLED_FLAG 0x0004 bool remove_table_from_cache(THD *thd, const char *db, const char *table, uint flags); bool close_cached_tables(THD *thd, bool wait_for_refresh, TABLE_LIST *tables); void copy_field_from_tmp_record(Field *field,int offset); int fill_record(List<Item> &fields,List<Item> &values, bool ignore_errors); Loading