Loading Docs/manual.texi +3 −1 Original line number Diff line number Diff line Loading @@ -24702,7 +24702,7 @@ The meanings of the configuration parameters are the following: @multitable @columnfractions .30 .70 @item @code{innodb_data_home_dir} @tab The common part of the directory path for all innobase data files. The common part of the directory path for all InnoDB data files. @item @code{innodb_data_file_path} @tab Paths to individual data files and their sizes. The full directory path to each data file is acquired by concatenating innodb_data_home_dir to Loading Loading @@ -45728,6 +45728,8 @@ not yet 100% confident in this code. @appendixsubsec Changes in release 3.23.40 @itemize @bullet @item Fixed problem with @code{--low-priority-updates} and @code{INSERT}'s. @item Added @code{slave_wait_timeout} for replication. @item Fixed problem with @code{UPDATE} and BDB tables. include/thr_lock.h +1 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ enum thr_lock_type { TL_IGNORE=-1, extern ulong max_write_lock_count; extern my_bool thr_lock_inited; extern enum thr_lock_type thr_upgraded_concurrent_insert_lock; typedef struct st_thr_lock_data { pthread_t thread; Loading mysys/thr_lock.c +5 −4 Original line number Diff line number Diff line Loading @@ -85,6 +85,7 @@ multiple read locks. my_bool thr_lock_inited=0; ulong locks_immediate = 0L, locks_waited = 0L; enum thr_lock_type thr_upgraded_concurrent_insert_lock = TL_WRITE; /* The following constants are only for debug output */ #define MAX_THREADS 100 Loading Loading @@ -514,7 +515,7 @@ int thr_lock(THR_LOCK_DATA *data,enum thr_lock_type lock_type) } } else if (lock_type == TL_WRITE_CONCURRENT_INSERT && ! lock->check_status) data->type=lock_type= TL_WRITE; /* not supported */ data->type=lock_type= thr_upgraded_concurrent_insert_lock; if (lock->write.data) /* If there is a write lock */ { Loading Loading @@ -556,7 +557,7 @@ int thr_lock(THR_LOCK_DATA *data,enum thr_lock_type lock_type) { /* no scheduled write locks */ if (lock_type == TL_WRITE_CONCURRENT_INSERT && (*lock->check_status)(data->status_param)) data->type=lock_type=TL_WRITE; /* Upgrade lock */ data->type=lock_type= thr_upgraded_concurrent_insert_lock; if (!lock->read.data || (lock_type <= TL_WRITE_DELAYED && Loading Loading @@ -943,10 +944,10 @@ my_bool thr_upgrade_write_delay_lock(THR_LOCK_DATA *data) DBUG_ENTER("thr_upgrade_write_delay_lock"); pthread_mutex_lock(&lock->mutex); if (data->type == TL_UNLOCK || data->type == TL_WRITE) /* Aborted */ if (data->type == TL_UNLOCK || data->type >= TL_WRITE_LOW_PRIORITY) { pthread_mutex_unlock(&lock->mutex); DBUG_RETURN(data->type == TL_UNLOCK); DBUG_RETURN(data->type == TL_UNLOCK); /* Test if Aborted */ } check_locks(lock,"before upgrading lock",0); /* TODO: Upgrade to TL_WRITE_CONCURRENT_INSERT in some cases */ Loading sql/mysqld.cc +1 −0 Original line number Diff line number Diff line Loading @@ -3563,6 +3563,7 @@ static void get_options(int argc,char **argv) break; case OPT_LOW_PRIORITY_UPDATES: thd_startup_options|=OPTION_LOW_PRIORITY_UPDATES; thr_upgraded_concurrent_insert_lock= TL_WRITE_LOW_PRIORITY; low_priority_updates=1; break; case OPT_BOOTSTRAP: Loading sql/sql_insert.cc +1 −0 Original line number Diff line number Diff line Loading @@ -871,6 +871,7 @@ static pthread_handler_decl(handle_delayed_insert,arg) /* Add thread to THD list so that's it's visible in 'show processlist' */ pthread_mutex_lock(&LOCK_thread_count); thd->thread_id=thread_id++; thd->end_time(); threads.append(thd); pthread_mutex_unlock(&LOCK_thread_count); Loading Loading
Docs/manual.texi +3 −1 Original line number Diff line number Diff line Loading @@ -24702,7 +24702,7 @@ The meanings of the configuration parameters are the following: @multitable @columnfractions .30 .70 @item @code{innodb_data_home_dir} @tab The common part of the directory path for all innobase data files. The common part of the directory path for all InnoDB data files. @item @code{innodb_data_file_path} @tab Paths to individual data files and their sizes. The full directory path to each data file is acquired by concatenating innodb_data_home_dir to Loading Loading @@ -45728,6 +45728,8 @@ not yet 100% confident in this code. @appendixsubsec Changes in release 3.23.40 @itemize @bullet @item Fixed problem with @code{--low-priority-updates} and @code{INSERT}'s. @item Added @code{slave_wait_timeout} for replication. @item Fixed problem with @code{UPDATE} and BDB tables.
include/thr_lock.h +1 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ enum thr_lock_type { TL_IGNORE=-1, extern ulong max_write_lock_count; extern my_bool thr_lock_inited; extern enum thr_lock_type thr_upgraded_concurrent_insert_lock; typedef struct st_thr_lock_data { pthread_t thread; Loading
mysys/thr_lock.c +5 −4 Original line number Diff line number Diff line Loading @@ -85,6 +85,7 @@ multiple read locks. my_bool thr_lock_inited=0; ulong locks_immediate = 0L, locks_waited = 0L; enum thr_lock_type thr_upgraded_concurrent_insert_lock = TL_WRITE; /* The following constants are only for debug output */ #define MAX_THREADS 100 Loading Loading @@ -514,7 +515,7 @@ int thr_lock(THR_LOCK_DATA *data,enum thr_lock_type lock_type) } } else if (lock_type == TL_WRITE_CONCURRENT_INSERT && ! lock->check_status) data->type=lock_type= TL_WRITE; /* not supported */ data->type=lock_type= thr_upgraded_concurrent_insert_lock; if (lock->write.data) /* If there is a write lock */ { Loading Loading @@ -556,7 +557,7 @@ int thr_lock(THR_LOCK_DATA *data,enum thr_lock_type lock_type) { /* no scheduled write locks */ if (lock_type == TL_WRITE_CONCURRENT_INSERT && (*lock->check_status)(data->status_param)) data->type=lock_type=TL_WRITE; /* Upgrade lock */ data->type=lock_type= thr_upgraded_concurrent_insert_lock; if (!lock->read.data || (lock_type <= TL_WRITE_DELAYED && Loading Loading @@ -943,10 +944,10 @@ my_bool thr_upgrade_write_delay_lock(THR_LOCK_DATA *data) DBUG_ENTER("thr_upgrade_write_delay_lock"); pthread_mutex_lock(&lock->mutex); if (data->type == TL_UNLOCK || data->type == TL_WRITE) /* Aborted */ if (data->type == TL_UNLOCK || data->type >= TL_WRITE_LOW_PRIORITY) { pthread_mutex_unlock(&lock->mutex); DBUG_RETURN(data->type == TL_UNLOCK); DBUG_RETURN(data->type == TL_UNLOCK); /* Test if Aborted */ } check_locks(lock,"before upgrading lock",0); /* TODO: Upgrade to TL_WRITE_CONCURRENT_INSERT in some cases */ Loading
sql/mysqld.cc +1 −0 Original line number Diff line number Diff line Loading @@ -3563,6 +3563,7 @@ static void get_options(int argc,char **argv) break; case OPT_LOW_PRIORITY_UPDATES: thd_startup_options|=OPTION_LOW_PRIORITY_UPDATES; thr_upgraded_concurrent_insert_lock= TL_WRITE_LOW_PRIORITY; low_priority_updates=1; break; case OPT_BOOTSTRAP: Loading
sql/sql_insert.cc +1 −0 Original line number Diff line number Diff line Loading @@ -871,6 +871,7 @@ static pthread_handler_decl(handle_delayed_insert,arg) /* Add thread to THD list so that's it's visible in 'show processlist' */ pthread_mutex_lock(&LOCK_thread_count); thd->thread_id=thread_id++; thd->end_time(); threads.append(thd); pthread_mutex_unlock(&LOCK_thread_count); Loading