mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
Make innodb_flush_log_at_trx_commit a settable global variable.
sql/ha_innodb.cc: Remove innobase_flush_log_at_trx_commit (set srv_flush_log_at_trx_commit directly). sql/ha_innodb.h: Remove innobase_flush_log_at_trx_commit. Declare srv_flush_log_at_trx_commit. sql/mysqld.cc: Bypass the innobase_flush_log_at_trx_commit variable. storage/innobase/include/srv0srv.h: Change the type of srv_flush_log_at_trx_commit. storage/innobase/srv/srv0srv.c: Change the type of srv_flush_log_at_trx_commit.
This commit is contained in:
@@ -168,7 +168,6 @@ char* innobase_unix_file_flush_method = NULL;
|
|||||||
/* Below we have boolean-valued start-up parameters, and their default
|
/* Below we have boolean-valued start-up parameters, and their default
|
||||||
values */
|
values */
|
||||||
|
|
||||||
uint innobase_flush_log_at_trx_commit = 1;
|
|
||||||
ulong innobase_fast_shutdown = 1;
|
ulong innobase_fast_shutdown = 1;
|
||||||
my_bool innobase_log_archive = FALSE;/* unused */
|
my_bool innobase_log_archive = FALSE;/* unused */
|
||||||
my_bool innobase_use_doublewrite = TRUE;
|
my_bool innobase_use_doublewrite = TRUE;
|
||||||
@@ -1517,7 +1516,6 @@ innobase_init(void)
|
|||||||
srv_log_archive_on = (ulint) innobase_log_archive;
|
srv_log_archive_on = (ulint) innobase_log_archive;
|
||||||
#endif /* UNIV_LOG_ARCHIVE */
|
#endif /* UNIV_LOG_ARCHIVE */
|
||||||
srv_log_buffer_size = (ulint) innobase_log_buffer_size;
|
srv_log_buffer_size = (ulint) innobase_log_buffer_size;
|
||||||
srv_flush_log_at_trx_commit = (ulint) innobase_flush_log_at_trx_commit;
|
|
||||||
|
|
||||||
/* We set srv_pool_size here in units of 1 kB. InnoDB internally
|
/* We set srv_pool_size here in units of 1 kB. InnoDB internally
|
||||||
changes the value so that it becomes the number of database pages. */
|
changes the value so that it becomes the number of database pages. */
|
||||||
@@ -1974,7 +1972,7 @@ innobase_commit_complete(
|
|||||||
|
|
||||||
trx->active_trans = 0;
|
trx->active_trans = 0;
|
||||||
|
|
||||||
if (srv_flush_log_at_trx_commit == 0) {
|
if (UNIV_UNLIKELY(srv_flush_log_at_trx_commit == 0)) {
|
||||||
|
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
@@ -206,7 +206,6 @@ class ha_innobase: public handler
|
|||||||
};
|
};
|
||||||
|
|
||||||
extern SHOW_VAR innodb_status_variables[];
|
extern SHOW_VAR innodb_status_variables[];
|
||||||
extern uint innobase_flush_log_at_trx_commit;
|
|
||||||
extern ulong innobase_fast_shutdown;
|
extern ulong innobase_fast_shutdown;
|
||||||
extern ulong innobase_large_page_size;
|
extern ulong innobase_large_page_size;
|
||||||
extern long innobase_mirrored_log_groups, innobase_log_files_in_group;
|
extern long innobase_mirrored_log_groups, innobase_log_files_in_group;
|
||||||
@@ -243,6 +242,7 @@ extern ulong srv_n_free_tickets_to_enter;
|
|||||||
extern ulong srv_thread_sleep_delay;
|
extern ulong srv_thread_sleep_delay;
|
||||||
extern ulong srv_thread_concurrency;
|
extern ulong srv_thread_concurrency;
|
||||||
extern ulong srv_commit_concurrency;
|
extern ulong srv_commit_concurrency;
|
||||||
|
extern ulong srv_flush_log_at_trx_commit;
|
||||||
}
|
}
|
||||||
|
|
||||||
int innobase_init(void);
|
int innobase_init(void);
|
||||||
|
@@ -402,6 +402,7 @@ extern ulong srv_n_free_tickets_to_enter;
|
|||||||
extern ulong srv_thread_sleep_delay;
|
extern ulong srv_thread_sleep_delay;
|
||||||
extern ulong srv_thread_concurrency;
|
extern ulong srv_thread_concurrency;
|
||||||
extern ulong srv_commit_concurrency;
|
extern ulong srv_commit_concurrency;
|
||||||
|
extern ulong srv_flush_log_at_trx_commit;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef WITH_BERKELEY_STORAGE_ENGINE
|
#ifdef WITH_BERKELEY_STORAGE_ENGINE
|
||||||
@@ -5127,8 +5128,8 @@ Disable with --skip-innodb-doublewrite.", (gptr*) &innobase_use_doublewrite,
|
|||||||
(gptr*) &innobase_file_per_table, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
(gptr*) &innobase_file_per_table, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"innodb_flush_log_at_trx_commit", OPT_INNODB_FLUSH_LOG_AT_TRX_COMMIT,
|
{"innodb_flush_log_at_trx_commit", OPT_INNODB_FLUSH_LOG_AT_TRX_COMMIT,
|
||||||
"Set to 0 (write and flush once per second), 1 (write and flush at each commit) or 2 (write at commit, flush once per second).",
|
"Set to 0 (write and flush once per second), 1 (write and flush at each commit) or 2 (write at commit, flush once per second).",
|
||||||
(gptr*) &innobase_flush_log_at_trx_commit,
|
(gptr*) &srv_flush_log_at_trx_commit,
|
||||||
(gptr*) &innobase_flush_log_at_trx_commit,
|
(gptr*) &srv_flush_log_at_trx_commit,
|
||||||
0, GET_ULONG, OPT_ARG, 1, 0, 2, 0, 0, 0},
|
0, GET_ULONG, OPT_ARG, 1, 0, 2, 0, 0, 0},
|
||||||
{"innodb_flush_method", OPT_INNODB_FLUSH_METHOD,
|
{"innodb_flush_method", OPT_INNODB_FLUSH_METHOD,
|
||||||
"With which method to flush data.", (gptr*) &innobase_unix_file_flush_method,
|
"With which method to flush data.", (gptr*) &innobase_unix_file_flush_method,
|
||||||
|
@@ -97,6 +97,7 @@ extern ulong srv_n_free_tickets_to_enter;
|
|||||||
extern ulong srv_thread_sleep_delay;
|
extern ulong srv_thread_sleep_delay;
|
||||||
extern ulong srv_thread_concurrency;
|
extern ulong srv_thread_concurrency;
|
||||||
extern ulong srv_commit_concurrency;
|
extern ulong srv_commit_concurrency;
|
||||||
|
extern ulong srv_flush_log_at_trx_commit;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* WITH_NDBCLUSTER_STORAGE_ENGINE */
|
/* WITH_NDBCLUSTER_STORAGE_ENGINE */
|
||||||
@@ -517,6 +518,9 @@ sys_var_long_ptr sys_innodb_thread_concurrency("innodb_thread_concurrency",
|
|||||||
&srv_thread_concurrency);
|
&srv_thread_concurrency);
|
||||||
sys_var_long_ptr sys_innodb_commit_concurrency("innodb_commit_concurrency",
|
sys_var_long_ptr sys_innodb_commit_concurrency("innodb_commit_concurrency",
|
||||||
&srv_commit_concurrency);
|
&srv_commit_concurrency);
|
||||||
|
sys_var_long_ptr sys_innodb_flush_log_at_trx_commit(
|
||||||
|
"innodb_flush_log_at_trx_commit",
|
||||||
|
&srv_flush_log_at_trx_commit);
|
||||||
|
|
||||||
/* Condition pushdown to storage engine */
|
/* Condition pushdown to storage engine */
|
||||||
sys_var_thd_bool
|
sys_var_thd_bool
|
||||||
@@ -838,7 +842,6 @@ SHOW_VAR init_vars[]= {
|
|||||||
{sys_innodb_fast_shutdown.name,(char*) &sys_innodb_fast_shutdown, SHOW_SYS},
|
{sys_innodb_fast_shutdown.name,(char*) &sys_innodb_fast_shutdown, SHOW_SYS},
|
||||||
{"innodb_file_io_threads", (char*) &innobase_file_io_threads, SHOW_LONG },
|
{"innodb_file_io_threads", (char*) &innobase_file_io_threads, SHOW_LONG },
|
||||||
{"innodb_file_per_table", (char*) &innobase_file_per_table, SHOW_MY_BOOL},
|
{"innodb_file_per_table", (char*) &innobase_file_per_table, SHOW_MY_BOOL},
|
||||||
{"innodb_flush_log_at_trx_commit", (char*) &innobase_flush_log_at_trx_commit, SHOW_INT},
|
|
||||||
{"innodb_flush_method", (char*) &innobase_unix_file_flush_method, SHOW_CHAR_PTR},
|
{"innodb_flush_method", (char*) &innobase_unix_file_flush_method, SHOW_CHAR_PTR},
|
||||||
{"innodb_force_recovery", (char*) &innobase_force_recovery, SHOW_LONG },
|
{"innodb_force_recovery", (char*) &innobase_force_recovery, SHOW_LONG },
|
||||||
{"innodb_lock_wait_timeout", (char*) &innobase_lock_wait_timeout, SHOW_LONG },
|
{"innodb_lock_wait_timeout", (char*) &innobase_lock_wait_timeout, SHOW_LONG },
|
||||||
@@ -858,6 +861,7 @@ SHOW_VAR init_vars[]= {
|
|||||||
{sys_innodb_table_locks.name, (char*) &sys_innodb_table_locks, SHOW_SYS},
|
{sys_innodb_table_locks.name, (char*) &sys_innodb_table_locks, SHOW_SYS},
|
||||||
{sys_innodb_thread_concurrency.name, (char*) &sys_innodb_thread_concurrency, SHOW_SYS},
|
{sys_innodb_thread_concurrency.name, (char*) &sys_innodb_thread_concurrency, SHOW_SYS},
|
||||||
{sys_innodb_thread_sleep_delay.name, (char*) &sys_innodb_thread_sleep_delay, SHOW_SYS},
|
{sys_innodb_thread_sleep_delay.name, (char*) &sys_innodb_thread_sleep_delay, SHOW_SYS},
|
||||||
|
{sys_innodb_flush_log_at_trx_commit.name, (char*) &sys_innodb_flush_log_at_trx_commit, SHOW_SYS},
|
||||||
{sys_interactive_timeout.name,(char*) &sys_interactive_timeout, SHOW_SYS},
|
{sys_interactive_timeout.name,(char*) &sys_interactive_timeout, SHOW_SYS},
|
||||||
{sys_join_buffer_size.name, (char*) &sys_join_buffer_size, SHOW_SYS},
|
{sys_join_buffer_size.name, (char*) &sys_join_buffer_size, SHOW_SYS},
|
||||||
{sys_key_buffer_size.name, (char*) &sys_key_buffer_size, SHOW_SYS},
|
{sys_key_buffer_size.name, (char*) &sys_key_buffer_size, SHOW_SYS},
|
||||||
|
@@ -80,7 +80,7 @@ extern ulint srv_n_log_groups;
|
|||||||
extern ulint srv_n_log_files;
|
extern ulint srv_n_log_files;
|
||||||
extern ulint srv_log_file_size;
|
extern ulint srv_log_file_size;
|
||||||
extern ulint srv_log_buffer_size;
|
extern ulint srv_log_buffer_size;
|
||||||
extern ulint srv_flush_log_at_trx_commit;
|
extern ulong srv_flush_log_at_trx_commit;
|
||||||
|
|
||||||
extern byte srv_latin1_ordering[256];/* The sort order table of the latin1
|
extern byte srv_latin1_ordering[256];/* The sort order table of the latin1
|
||||||
character set */
|
character set */
|
||||||
|
@@ -116,7 +116,7 @@ ulint srv_n_log_groups = ULINT_MAX;
|
|||||||
ulint srv_n_log_files = ULINT_MAX;
|
ulint srv_n_log_files = ULINT_MAX;
|
||||||
ulint srv_log_file_size = ULINT_MAX; /* size in database pages */
|
ulint srv_log_file_size = ULINT_MAX; /* size in database pages */
|
||||||
ulint srv_log_buffer_size = ULINT_MAX; /* size in database pages */
|
ulint srv_log_buffer_size = ULINT_MAX; /* size in database pages */
|
||||||
ulint srv_flush_log_at_trx_commit = 1;
|
ulong srv_flush_log_at_trx_commit = 1;
|
||||||
|
|
||||||
byte srv_latin1_ordering[256] /* The sort order table of the latin1
|
byte srv_latin1_ordering[256] /* The sort order table of the latin1
|
||||||
character set. The following table is
|
character set. The following table is
|
||||||
|
Reference in New Issue
Block a user