diff options
author | jplindst@t41.(none) <> | 2004-06-08 15:38:22 +0300 |
---|---|---|
committer | jplindst@t41.(none) <> | 2004-06-08 15:38:22 +0300 |
commit | d6e1e47bbeb17966941ae27656cbfc6294f973e2 (patch) | |
tree | e7e2686f09e9741422121d2e56836162c139427a /sql/ha_innodb.cc | |
parent | 500874b554477ac3f03c4c5780a69537ae765f04 (diff) | |
download | mariadb-git-d6e1e47bbeb17966941ae27656cbfc6294f973e2.tar.gz |
Added function innobase_store_binlog_offset_and_flush_log requested by Guilhem
to ha_innodb.cc and ha_innodb.h
Diffstat (limited to 'sql/ha_innodb.cc')
-rw-r--r-- | sql/ha_innodb.cc | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc index 36202efcc02..619c05711c4 100644 --- a/sql/ha_innodb.cc +++ b/sql/ha_innodb.cc @@ -66,6 +66,7 @@ extern "C" { #include "../innobase/include/trx0roll.h" #include "../innobase/include/trx0trx.h" #include "../innobase/include/trx0sys.h" +#include "../innobase/include/mtr0mtr.h" #include "../innobase/include/row0ins.h" #include "../innobase/include/row0mysql.h" #include "../innobase/include/row0sel.h" @@ -5182,4 +5183,36 @@ ha_innobase::get_auto_increment() return(nr); } +/*********************************************************************** +This function stores binlog offset and flushes logs */ + +void +innobase_store_binlog_offset_and_flush_log( +/*=============================*/ + char *binlog_name, /* in: binlog name */ + longlong offset /* in: binlog offset */ +) +{ + mtr_t mtr; + + assert(binlog_name != NULL); + + /* Start a mini-transaction */ + mtr_start_noninline(&mtr); + + /* Update the latest MySQL binlog name and offset info + in trx sys header */ + + trx_sys_update_mysql_binlog_offset( + binlog_name, + offset, + TRX_SYS_MYSQL_LOG_INFO, &mtr); + + /* Commits the mini-transaction */ + mtr_commit(&mtr); + + /* Syncronous flush of the log buffer to disk */ + log_buffer_flush_to_disk(); +} + #endif /* HAVE_INNOBASE_DB */ |