Commit 6dd5e561 authored by mats@mysql.com's avatar mats@mysql.com

Bug#15920 (Temporary tables are not logged in binlog):

  Fixing faulty tests preventing some CREATE TEMPORARY TABLE statements
  from being binlogged under statement-based replication.
parent 4eee14fb
......@@ -22,6 +22,6 @@ group_min_max : Bug #15448
innodb_concurrent : Results are not deterministic, Elliot will fix (BUG#3300)
subselect : Bug#15706
type_time : Bug#15805
rpl000002 : Bug#15920 Temporary tables are not binlogged in SBR
#rpl000002 : Bug#15920 Temporary tables are not binlogged in SBR
ps_7ndb : Bug#15923 Core dump in RBR mode when executing test suite
sp_trans : Bug#15924 Code dump in RBR mode when executing test suite
......@@ -1915,10 +1915,12 @@ bool mysql_create_table(THD *thd,const char *db, const char *table_name,
- It is an internal temporary table,
- Row-based logging is used and it we are creating a temporary table, or
- The binary log is not open.
Otherwise, the statement shall be binlogged.
*/
if (!internal_tmp_table &&
!(binlog_row_based &&
(create_info->options & HA_LEX_CREATE_TMP_TABLE)))
(!binlog_row_based ||
(binlog_row_based &&
!(create_info->options & HA_LEX_CREATE_TMP_TABLE))))
write_bin_log(thd, TRUE, thd->query, thd->query_length);
error= FALSE;
unlock_and_end:
......@@ -3112,7 +3114,7 @@ bool mysql_create_like_table(THD* thd, TABLE_LIST* table,
Case 3 and 4 does nothing under RBR
*/
}
else if (!(create_info->options & HA_LEX_CREATE_TMP_TABLE))
else
write_bin_log(thd, TRUE, thd->query, thd->query_length);
res= FALSE;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment