46 #ifndef UNIV_HOTBACKUP
54 extern const char* srv_main_thread_op_info;
64 extern os_event_t srv_lock_timeout_thread_event;
77 #define SRV_AUTO_EXTEND_INCREMENT \
78 (srv_auto_extend_increment * ((1024 * 1024) / UNIV_PAGE_SIZE))
81 extern uint srv_lower_case_table_names;
84 extern mutex_t srv_monitor_file_mutex;
86 extern FILE* srv_monitor_file;
90 extern mutex_t srv_dict_tmpfile_mutex;
92 extern FILE* srv_dict_tmpfile;
96 extern mutex_t srv_misc_tmpfile_mutex;
98 extern FILE* srv_misc_tmpfile;
102 extern char* srv_data_home;
103 #ifdef UNIV_LOG_ARCHIVE
104 extern char* srv_arch_dir;
109 #ifndef UNIV_HOTBACKUP
129 extern my_bool srv_use_native_aio;
131 extern ibool srv_use_native_conditions;
133 extern ulint srv_n_data_files;
134 extern char** srv_data_file_names;
135 extern ulint* srv_data_file_sizes;
136 extern ulint* srv_data_file_is_raw_partition;
138 extern ibool srv_auto_extend_last_data_file;
139 extern ulint srv_last_file_size_max;
140 extern char** srv_log_group_home_dirs;
141 #ifndef UNIV_HOTBACKUP
142 extern unsigned int srv_auto_extend_increment;
144 extern ibool srv_created_new_raw;
146 extern ulint srv_n_log_groups;
147 extern ulint srv_n_log_files;
148 extern ulint srv_log_file_size;
149 extern ulint srv_log_buffer_size;
150 extern ulong srv_flush_log_at_trx_commit;
151 extern bool srv_adaptive_flushing;
156 #if defined(BUILD_DRIZZLE)
158 extern bool srv_use_sys_malloc;
161 # ifndef UNIV_HOTBACKUP
162 extern my_bool srv_use_sys_malloc;
164 extern ibool srv_use_sys_malloc;
171 extern ulint srv_mem_pool_size;
172 extern ulint srv_lock_table_size;
174 extern ulint srv_n_file_io_threads;
175 extern ulong srv_read_ahead_threshold;
176 extern ulint srv_n_read_io_threads;
177 extern ulint srv_n_write_io_threads;
180 extern ulong srv_io_capacity;
184 #define PCT_IO(p) ((ulong) (srv_io_capacity * ((double) p / 100.0)))
189 extern ulong srv_innodb_stats_method;
191 #ifdef UNIV_LOG_ARCHIVE
192 extern ibool srv_log_archive_on;
193 extern ibool srv_archive_recovery;
194 extern ib_uint64_t srv_archive_recovery_limit_lsn;
197 extern char* srv_file_flush_method_str;
198 extern ulint srv_unix_file_flush_method;
199 extern ulint srv_win_file_flush_method;
201 extern ulint srv_max_n_open_files;
203 extern ulint srv_max_dirty_pages_pct;
205 extern ulint srv_force_recovery;
206 extern ulong srv_thread_concurrency;
208 extern ulint srv_max_n_threads;
210 extern lint srv_conc_n_threads;
212 extern ulint srv_fast_shutdown;
219 extern ibool srv_innodb_status;
221 extern ib_uint64_t srv_stats_sample_pages;
223 extern ibool srv_use_doublewrite_buf;
224 extern ibool srv_use_checksums;
226 extern ulong srv_max_buf_pool_modified_pct;
227 extern ulong srv_max_purge_lag;
229 extern ulong srv_replication_delay;
231 extern uint64_t srv_ibuf_max_size;
232 extern uint32_t srv_ibuf_active_contract;
233 extern uint32_t srv_ibuf_accel_rate;
234 extern uint32_t srv_checkpoint_age_target;
235 extern uint32_t srv_flush_neighbor_pages;
236 extern uint32_t srv_read_ahead;
237 extern uint32_t srv_adaptive_flushing_method;
239 extern ibool srv_read_only;
240 extern ibool srv_fake_write;
241 extern ibool srv_apply_log_only;
245 extern ulint srv_n_rows_inserted;
246 extern ulint srv_n_rows_updated;
247 extern ulint srv_n_rows_deleted;
248 extern ulint srv_n_rows_read;
250 extern ibool srv_print_innodb_monitor;
251 extern ibool srv_print_innodb_lock_monitor;
252 extern ibool srv_print_innodb_tablespace_monitor;
253 extern ibool srv_print_verbose_log;
254 extern ibool srv_print_innodb_table_monitor;
256 extern ibool srv_lock_timeout_active;
257 extern ibool srv_monitor_active;
258 extern ibool srv_error_monitor_active;
260 extern ulong srv_n_spin_wait_rounds;
261 extern ulong srv_n_free_tickets_to_enter;
262 extern ulong srv_thread_sleep_delay;
263 extern ulong srv_spin_wait_delay;
264 extern ibool srv_priority_boost;
266 extern ulint srv_truncated_status_writes;
269 extern ibool srv_print_thread_releases;
270 extern ibool srv_print_lock_waits;
271 extern ibool srv_print_buf_io;
272 extern ibool srv_print_log_io;
273 extern ibool srv_print_latch_waits;
275 # define srv_print_thread_releases FALSE
276 # define srv_print_lock_waits FALSE
277 # define srv_print_buf_io FALSE
278 # define srv_print_log_io FALSE
279 # define srv_print_latch_waits FALSE
282 extern ulint srv_activity_count;
283 extern ulint srv_fatal_semaphore_wait_threshold;
284 extern ulint srv_dml_needed_delay;
286 extern mutex_t* kernel_mutex_temp;
290 extern mutex_t* commit_id_mutex_temp;
292 #define kernel_mutex (*kernel_mutex_temp)
293 #define commit_id_mutex (*commit_id_mutex_temp)
295 #define SRV_MAX_N_IO_THREADS 130
299 extern const char* srv_io_thread_op_info[];
300 extern const char* srv_io_thread_function[];
303 extern ulint srv_log_write_requests;
306 extern ulint srv_log_writes;
309 extern ulint srv_os_log_written;
312 extern ulint srv_os_log_pending_writes;
316 extern ulint srv_log_waits;
319 extern ulong srv_n_purge_threads;
322 extern ulong srv_purge_batch_size;
325 extern ulong srv_rollback_segments;
328 extern ulint srv_data_read;
331 extern ulint srv_data_written;
335 extern ulint srv_dblwr_writes;
339 extern ulint srv_dblwr_pages_written;
342 extern ulint srv_buf_pool_write_requests;
347 extern ulint srv_buf_pool_wait_free;
351 extern ulint srv_buf_pool_flushed;
372 # ifdef UNIV_PFS_THREAD
374 extern mysql_pfs_key_t trx_rollback_clean_thread_key;
375 extern mysql_pfs_key_t io_handler_thread_key;
376 extern mysql_pfs_key_t srv_lock_timeout_thread_key;
377 extern mysql_pfs_key_t srv_error_monitor_thread_key;
378 extern mysql_pfs_key_t srv_monitor_thread_key;
379 extern mysql_pfs_key_t srv_master_thread_key;
383 # define pfs_register_thread(key) \
386 struct PSI_thread* psi = PSI_server->new_thread(key, NULL, 0);\
388 PSI_server->set_thread(psi); \
394 # define pfs_delete_thread() \
397 PSI_server->delete_current_thread(); \
458 enum srv_stats_method_name_enum {
459 SRV_STATS_NULLS_EQUAL,
462 SRV_STATS_NULLS_UNEQUAL,
464 SRV_STATS_NULLS_IGNORED
467 typedef enum srv_stats_method_name_enum srv_stats_method_name_t;
469 #ifndef UNIV_HOTBACKUP
746 ulint innodb_buffer_pool_pages_latched;
798 extern ulint srv_n_threads_active[];
800 # define srv_use_adaptive_hash_indexes FALSE
801 # define srv_use_checksums TRUE
802 # define srv_use_native_aio FALSE
803 # define srv_force_recovery 0UL
804 # define srv_set_io_thread_op_info(t,info) ((void) 0)
805 # define srv_is_being_started 0
806 # define srv_win_file_flush_method SRV_WIN_IO_UNBUFFERED
807 # define srv_unix_file_flush_method SRV_UNIX_O_DSYNC
808 # define srv_start_raw_disk_in_use 0
809 # define srv_file_per_table 1
UNIV_INTERN void srv_free(void)
UNIV_INTERN void srv_wake_purge_thread(void)
ulint innodb_row_lock_current_waits
UNIV_INTERN void srv_conc_enter_innodb(trx_t *trx)
ibool srv_locks_unsafe_for_binlog
ulint innodb_os_log_fsyncs
ulint innodb_dblwr_writes
UNIV_INTERN os_thread_ret_t srv_error_monitor_thread(void *arg)
UNIV_INTERN ulint srv_get_n_threads(void)
ulint innodb_rows_updated
ulint innodb_buffer_pool_pages_total
ulint innodb_buffer_pool_read_ahead_evicted
UNIV_INTERN void srv_wake_master_thread(void)
ulint innodb_buffer_pool_reads
UNIV_INTERN void srv_set_io_thread_op_info(ulint i, const char *str)
ulint innodb_row_lock_time_avg
UNIV_INTERN ulint srv_release_threads(enum srv_thread_type type, ulint n)
UNIV_INTERN void srv_active_wake_master_thread(void)
ulint innodb_row_lock_waits
ulint innodb_data_pending_reads
UNIV_INTERN void srv_general_init(void)
ulint innodb_buffer_pool_read_ahead
ulint innodb_os_log_pending_writes
const byte * srv_latin1_ordering
UNIV_INTERN void srv_conc_exit_innodb(trx_t *trx)
ulint innodb_data_written
UNIV_INTERN os_thread_ret_t srv_monitor_thread(void *arg)
ulint srv_buf_pool_curr_size
UNIV_INTERN void srv_init(void)
ulint innodb_os_log_written
uint32_t srv_auto_lru_dump
ulint innodb_dblwr_pages_written
typedef UT_LIST_BASE_NODE_T(mutex_t) ut_list_base_node_t
ibool innodb_have_atomic_builtins
ulint innodb_buffer_pool_pages_dirty
UNIV_INTERN ulint srv_boot(void)
UNIV_INTERN void srv_que_task_enqueue_low(que_thr_t *thr)
ulint innodb_buffer_pool_read_requests
ulint innodb_rows_deleted
ulint innodb_buffer_pool_write_requests
ulint innodb_data_pending_fsyncs
ulint innodb_data_pending_writes
ulint innodb_pages_created
ulint innodb_pages_written
ulint innodb_buffer_pool_pages_misc
ulint innodb_row_lock_time_max
ulint innodb_buffer_pool_pages_free
UNIV_INTERN os_thread_ret_t srv_master_thread(void *arg)
UNIV_INTERN os_thread_ret_t srv_LRU_dump_restore_thread(void *arg)
UNIV_INTERN void srv_conc_force_exit_innodb(trx_t *trx)
ulint innodb_buffer_pool_pages_flushed
my_bool srv_file_per_table
UNIV_INTERN os_thread_ret_t srv_purge_thread(void *)
ulint srv_max_file_format_at_startup
UNIV_INTERN void srv_suspend_mysql_thread(que_thr_t *thr)
ulint innodb_truncated_status_writes
UNIV_INTERN void srv_inc_activity_count(void)
ib_int64_t innodb_row_lock_time
static const std::string srv_mysql50_table_name_prefix("#mysql50#")
ulint innodb_rows_inserted
UNIV_INTERN os_thread_ret_t srv_lock_timeout_thread(void *arg)
UNIV_INTERN ibool trx_start(trx_t *trx, ulint rseg_id)
ulint innodb_buffer_pool_pages_data
UNIV_INTERN ibool srv_is_any_background_thread_active(void)
UNIV_INTERN ulint srv_thread_has_reserved_slot(enum srv_thread_type type)
ulint innodb_os_log_pending_fsyncs
ulint srv_buf_pool_old_size
ulint innodb_buffer_pool_wait_free
UNIV_INTERN void srv_conc_force_enter_innodb(trx_t *trx)
UNIV_INTERN void srv_export_innodb_status(void)
UNIV_INTERN ibool srv_printf_innodb_monitor(FILE *file, ibool nowait, ulint *trx_start, ulint *trx_end)
ulint innodb_log_write_requests
UNIV_INTERN void srv_release_mysql_thread_if_suspended(que_thr_t *thr)
UNIV_INTERN void srv_wake_purge_thread_if_not_active(void)
ulint srv_buf_pool_instances