summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <aivanov@mysql.com>2006-06-05 05:49:06 +0400
committerunknown <aivanov@mysql.com>2006-06-05 05:49:06 +0400
commit88b109d97b4d85518e805ad8b22ce92455fef69c (patch)
treeb5468fa76a2ba25c35881a03ef8d902eae18110c /sql
parent64d09856c6909348935efe1478a403f2e94d839e (diff)
downloadmariadb-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.cc36
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);
}