diff options
author | unknown <sasha@mysql.sashanet.com> | 2001-11-27 18:20:24 -0700 |
---|---|---|
committer | unknown <sasha@mysql.sashanet.com> | 2001-11-27 18:20:24 -0700 |
commit | 08fc358542509a63e04eb544885d03f10c576a22 (patch) | |
tree | 9162f72dd22e4223cb1b3da255a9e1e53e07632a /sql | |
parent | 312e5e82c0b17983bc3ac43b50fac891cccf0ea2 (diff) | |
download | mariadb-git-08fc358542509a63e04eb544885d03f10c576a22.tar.gz |
fixed alias drop bug in binlog
fixed skip counter to do the RightThing (TM) when the user messes up.
Still do RightThing when he gets it right.
mysql-test/r/rpl000016.result:
updated test result
mysql-test/t/rpl000013.test:
test alias bug
mysql-test/t/rpl000016.test:
test for proper skip when the user messes up
sql/slave.cc:
proper skip even when the user goofs up
sql/sql_base.cc:
drop real name, not last used alias in the log
Diffstat (limited to 'sql')
-rw-r--r-- | sql/slave.cc | 7 | ||||
-rw-r--r-- | sql/sql_base.cc | 4 |
2 files changed, 8 insertions, 3 deletions
diff --git a/sql/slave.cc b/sql/slave.cc index 958ea0f1e18..5fdbab7c7c6 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -885,7 +885,12 @@ static int exec_event(THD* thd, NET* net, MASTER_INFO* mi, int event_len) mi->inc_pos(event_len); flush_master_info(mi); - if(slave_skip_counter) + if(slave_skip_counter && /* protect against common user error of + setting the counter to 1 instead of 2 + while recovering from an failed + auto-increment insert */ + !(type_code == INTVAR_EVENT && + slave_skip_counter == 1)) --slave_skip_counter; delete ev; return 0; // avoid infinite update loops diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 70dc2ed058d..656758623bc 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -527,10 +527,10 @@ void close_temporary_tables(THD *thd) if (query) // we might be out of memory, but this is not fatal { // skip temporary tables not created directly by the user - if (table->table_name[0] != '#') + if (table->real_name[0] != '#') { end = strxmov(end,table->table_cache_key,".", - table->table_name,",", NullS); + table->real_name,",", NullS); // here we assume table_cache_key always starts // with \0 terminated db name found_user_tables = 1; |