diff options
author | unknown <aivanov@mysql.com> | 2006-06-05 05:49:06 +0400 |
---|---|---|
committer | unknown <aivanov@mysql.com> | 2006-06-05 05:49:06 +0400 |
commit | 88b109d97b4d85518e805ad8b22ce92455fef69c (patch) | |
tree | b5468fa76a2ba25c35881a03ef8d902eae18110c /sql | |
parent | 64d09856c6909348935efe1478a403f2e94d839e (diff) | |
download | mariadb-git-88b109d97b4d85518e805ad8b22ce92455fef69c.tar.gz |
Fixed BUG#18948 "Disabled test case rpl_row_inexist_tbl".
The bug was caused by ignoring failure when opening a
a table in Table_map_log_event::exec_event().
mysql-test/r/rpl_row_inexist_tbl.result:
Fixed test case result.
mysql-test/t/disabled.def:
Enabled rpl_row_inexist_table test.
mysql-test/t/rpl_row_inexist_tbl.test:
Extended test case with "replicate-ignore-table" t2.
sql/log_event.cc:
Table_map_log_event::exec_event(): Remove code which ignores
opening table failure. Previously, this code was needed
because of extraneous table maps in the binary log. Currently,
for any table that should be replicated to slave, a filter is
needed (bug#18948).
Diffstat (limited to 'sql')
-rw-r--r-- | sql/log_event.cc | 36 |
1 files changed, 7 insertions, 29 deletions
diff --git a/sql/log_event.cc b/sql/log_event.cc index e78a6fc5865..3e81bfcfb73 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -5853,9 +5853,7 @@ int Table_map_log_event::exec_event(st_relay_log_info *rli) /* Open the table if it is not already open and add the table to table map. - If the table should not be replicated, we don't bother to do anything. - The table map will return NULL and the row-level event will effectively - be a no-op. + Note that for any table that should not be replicated, a filter is needed. */ uint count; /* @@ -5871,34 +5869,14 @@ int Table_map_log_event::exec_event(st_relay_log_info *rli) /* Error reporting borrowed from Query_log_event with many excessive simplifications (we don't honour --slave-skip-errors) - - BUG: There can be extreneous table maps in the binary log, - so in case we fail to open the table, we just generate a - warning and do not add the table to the list of tables to - open and lock. */ uint actual_error= thd->net.last_errno; - switch (actual_error) - { - case ER_NO_SUCH_TABLE: - slave_print_msg(WARNING_LEVEL, rli, actual_error, - thd->net.last_error ? - thd->net.last_error : - "<no message>"); - clear_all_errors(thd, rli); - rli->inc_event_relay_log_pos(); // Continue with next event - error= 0; - break; - - default: - slave_print_msg(ERROR_LEVEL, rli, actual_error, - "Error '%s' on opening table `%s`.`%s`", - (actual_error ? thd->net.last_error : - "unexpected success or fatal error"), - table_list->db, table_list->table_name); - thd->query_error= 1; - break; - } + slave_print_msg(ERROR_LEVEL, rli, actual_error, + "Error '%s' on opening table `%s`.`%s`", + (actual_error ? thd->net.last_error : + "unexpected success or fatal error"), + table_list->db, table_list->table_name); + thd->query_error= 1; } DBUG_RETURN(error); } |