mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 23:04:20 +01:00
89850be0f5
This patch fixes two problems described as follows: 1 - If there is an on-going transaction and a temporary table is created or dropped, any failed statement that follows the "create" or "drop commands" triggers a rollback and by consequence the slave will go out sync because the binary log will have a wrong sequence of events. To fix the problem, we changed the expression that evaluates when the cache should be flushed after either the rollback of a statment or transaction. 2 - When a "CREATE TEMPORARY TABLE SELECT * FROM" was executed the OPTION_KEEP_LOG was not set into the thd->options. For that reason, if the transaction had updated only transactional engines and was rolled back at the end (.e.g due to a deadlock) the changes were not written to the binary log, including the creation of the temporary table. To fix the problem, we have set the OPTION_KEEP_LOG into the thd->options when a "CREATE TEMPORARY TABLE SELECT * FROM" is executed. |
||
---|---|---|
.. | ||
binlog_auto_increment_bug33029.result | ||
binlog_base64_flag.result | ||
binlog_database.result | ||
binlog_delete_and_flush_index.result | ||
binlog_grant.result | ||
binlog_incident.result | ||
binlog_index.result | ||
binlog_innodb.result | ||
binlog_innodb_row.result | ||
binlog_killed.result | ||
binlog_killed_simulate.result | ||
binlog_mix_innodb_stat.result | ||
binlog_mixed_failure_mixing_engines.result | ||
binlog_multi_engine.result | ||
binlog_old_versions.result | ||
binlog_row_binlog.result | ||
binlog_row_ctype_cp932.result | ||
binlog_row_ctype_ucs.result | ||
binlog_row_drop_tmp_tbl.result | ||
binlog_row_failure_mixing_engines.result | ||
binlog_row_innodb_stat.result | ||
binlog_row_insert_select.result | ||
binlog_row_mix_innodb_myisam.result | ||
binlog_row_mysqlbinlog_db_filter.result | ||
binlog_row_mysqlbinlog_verbose.result | ||
binlog_sql_mode.result | ||
binlog_start_comment.result | ||
binlog_statement_insert_delayed.result | ||
binlog_stm_binlog.result | ||
binlog_stm_blackhole.result | ||
binlog_stm_ctype_cp932.result | ||
binlog_stm_ctype_ucs.result | ||
binlog_stm_do_db.result | ||
binlog_stm_drop_tmp_tbl.result | ||
binlog_stm_innodb_stat.result | ||
binlog_stm_insert_select.result | ||
binlog_stm_mix_innodb_myisam.result | ||
binlog_stm_ps.result | ||
binlog_stm_row.result | ||
binlog_stm_unsafe_warning.result | ||
binlog_tmp_table.result | ||
binlog_truncate_innodb.result | ||
binlog_truncate_myisam.result | ||
binlog_unsafe.result | ||
binlog_write_error.result |