1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

Final part of WL#1717 "innodb/binlog consistency". This is to resolve

a limitation of yesterday's implementation:
if there was an unfinished transaction (COMMIT not typed), and some MyISAM tables were
then updated, and then mysqld crashes, then at restart the server would use the too old
binlog offset known by InnoDB to cut the binlog, thus cutting the successful MyISAM
updates. We fix this by reporting the binlog offset into InnoDB even if InnoDB was not
affected at all by the update.
But the feature is still disabled until we decide if it can go into 4.1.3.


sql/handler.cc:
  How we report the binlog offset into InnoDB:
  - if the update affected InnoDB, it will happen naturally
  - otherwise (for example MyISAM update not in an InnoDB transaction), we explicitely report it.
sql/handler.h:
  removing warning (noticed this)
sql/log.cc:
  clearer messages when truncating binlog.
sql/mysql_priv.h:
  need to see opt_innodb_safe_binlog in handler.cc
sql/mysqld.cc:
  No innodb-safe-binlog if no InnoDB.
  Updating message as now we work with MyISAM.
This commit is contained in:
unknown
2004-06-24 11:38:57 +02:00
parent ff392bbeef
commit 3198ea57f5
5 changed files with 33 additions and 13 deletions

View File

@ -869,7 +869,7 @@ extern ulong rpl_recovery_rank, thread_cache_size;
extern ulong com_stat[(uint) SQLCOM_END], com_other, back_log;
extern ulong specialflag, current_pid;
extern ulong expire_logs_days, sync_binlog_period, sync_binlog_counter;
extern my_bool relay_log_purge;
extern my_bool relay_log_purge, opt_innodb_safe_binlog;
extern uint test_flags,select_errors,ha_open_options;
extern uint protocol_version, mysqld_port, dropping_tables;
extern uint delay_key_write_options, lower_case_table_names;