diff options
author | unknown <guilhem@mysql.com> | 2004-06-10 15:56:13 +0200 |
---|---|---|
committer | unknown <guilhem@mysql.com> | 2004-06-10 15:56:13 +0200 |
commit | 7ece3c749152fd9a5df821398852a4cb02ec13a2 (patch) | |
tree | 9776f371549ba002dc5dde8ab3d942e3ec380a66 /sql/set_var.h | |
parent | 7f4402201f87978960e206f97674bf30f1a414ae (diff) | |
download | mariadb-git-7ece3c749152fd9a5df821398852a4cb02ec13a2.tar.gz |
WL#1595 "Optionally fsync() the binlog after every statement":
New option --sync-binlog=x (and global settable variable) which will fsync the binlog
after every x-th disk write to it. That is, if in autocommit mode, after every x-th statement
written to the binlog; if using transactions, after every x-th transaction written to the binlog.
x==0 means no fsync. x==1 is the slowest.
There is no test added for this, I have just checked that it works as --sync-binlog=1 dramatically
slows down mysqld.
Made sync-frm a global settable variable.
sql/log.cc:
every sync_binlog_period-th disk binlog write, we fsync the binlog
sql/mysql_priv.h:
new option sync_binlog
sql/mysqld.cc:
new option sync_binlog
sql/set_var.cc:
Making sync-frm a settable global option.
New settable global option sync-binlog.
sql/set_var.h:
new global settable variable sync_binlog needs a specific ::update because it needs to take LOCK_log
Diffstat (limited to 'sql/set_var.h')
-rw-r--r-- | sql/set_var.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sql/set_var.h b/sql/set_var.h index 64bdfdb718b..9bed6f01dcc 100644 --- a/sql/set_var.h +++ b/sql/set_var.h @@ -462,7 +462,7 @@ public: }; -#ifndef EMBEDDED_LIBRARY +#ifdef HAVE_REPLICATION class sys_var_slave_skip_counter :public sys_var { public: @@ -475,6 +475,14 @@ public: type() or value_ptr() */ }; + +class sys_var_sync_binlog_period :public sys_var_long_ptr +{ +public: + sys_var_sync_binlog_period(const char *name_arg, ulong *value_ptr) + :sys_var_long_ptr(name_arg,value_ptr) {} + bool update(THD *thd, set_var *var); +}; #endif class sys_var_rand_seed1 :public sys_var |