diff options
author | unknown <monty@mashka.mysql.fi> | 2003-01-25 15:07:51 +0200 |
---|---|---|
committer | unknown <monty@mashka.mysql.fi> | 2003-01-25 15:07:51 +0200 |
commit | 6337190c2bd2d1d47948f4d1b467970db7d5b2f6 (patch) | |
tree | ec47c385448c97b6f07f4d2851b745236f7e98dd /sql/sql_repl.cc | |
parent | f0a1a571b330a9ca87f81992cdbf8272bcb08934 (diff) | |
download | mariadb-git-6337190c2bd2d1d47948f4d1b467970db7d5b2f6.tar.gz |
Added timeout for wait_for_master_pos
Fixed comparision of log-binary name to handle comparison when file name extension wraps from .999 to .1000
Don't replicate CREATE/DROP DATABASE if wild_xxx_table=database.% is used.
mysql-test/r/rpl000009.result:
Fixed replication test after fixing replication of DROP/CREATE DATABASE
mysql-test/t/rpl000009.test:
Fixed replication test after fixing replication of DROP/CREATE DATABASE
sql/item_create.cc:
Added timeout for wait_for_master_pos
sql/item_create.h:
Added timeout for wait_for_master_pos
sql/item_func.cc:
Added timeout for wait_for_master_pos
sql/item_func.h:
Added timeout for wait_for_master_pos
sql/lex.h:
Added timeout for wait_for_master_pos
sql/slave.h:
Added timeout for wait_for_master_pos
Don't replicate CREATE/DROP DATABASE if wild_xxx_table=database.% is used.
sql/sql_parse.cc:
Don't replicate CREATE/DROP DATABASE if wild_xxx_table=database.% is used.
sql/sql_repl.cc:
Fixed comparision of log-binary name to handle comparison when file name extension wraps from .999 to .1000
Diffstat (limited to 'sql/sql_repl.cc')
-rw-r--r-- | sql/sql_repl.cc | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/sql/sql_repl.cc b/sql/sql_repl.cc index 02440f511e1..6a14a7c5d16 100644 --- a/sql/sql_repl.cc +++ b/sql/sql_repl.cc @@ -925,18 +925,17 @@ int cmp_master_pos(const char* log_file_name1, ulonglong log_pos1, const char* log_file_name2, ulonglong log_pos2) { int res; - /* - TODO: Change compare function to work with file name of type - '.999 and .1000' - */ + uint log_file_name1_len= strlen(log_file_name1); + uint log_file_name2_len= strlen(log_file_name2); - if ((res = strcmp(log_file_name1, log_file_name2))) - return res; - if (log_pos1 > log_pos2) - return 1; - else if (log_pos1 == log_pos2) - return 0; - return -1; + // We assume that both log names match up to '.' + if (log_file_name1_len == log_file_name2_len) + { + if ((res= strcmp(log_file_name1, log_file_name2))) + return res; + return (log_pos1 < log_pos2) ? -1 : (log_pos1 == log_pos2) ? 0 : 1; + } + return ((log_file_name1_len < log_file_name2_len) ? -1 : 1); } |