From 750eedd9abdb22b64559b8a43b58679884d84e7c Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 18 Jul 2005 14:46:53 +0200 Subject: [PATCH] Fix for BUG#12003 "assertion failure in testsuite (double lock of LOCK_thread_count)" and for BUG#12004 "SHOW BINARY LOGS reports 0 for the size of all binlogs but the current one". There are a lot of 4.1->5.0 unmerged changes (hardest are in the optimizer), can't merge; still pushing in 4.1 because my changes are very small. Feel free to ask me if you have problems merging them. mysql-test/r/rpl_log.result: correcting binlog sizes mysql-test/r/rpl_rotate_logs.result: correcting binlog sizes sql/mysqld.cc: don't lock LOCK_thread_count when you already have it sql/sql_repl.cc: my_open() needs the complete name, not only the base name --- mysql-test/r/rpl_log.result | 4 ++-- mysql-test/r/rpl_rotate_logs.result | 10 +++++----- sql/mysqld.cc | 2 +- sql/sql_repl.cc | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/mysql-test/r/rpl_log.result b/mysql-test/r/rpl_log.result index 7813d4d779d..9fcab2a7cbe 100644 --- a/mysql-test/r/rpl_log.result +++ b/mysql-test/r/rpl_log.result @@ -68,12 +68,12 @@ master-bin.000002 168 Query 1 168 use `test`; insert into t1 values (1) master-bin.000002 228 Query 1 228 use `test`; drop table t1 show binary logs; Log_name File_size -master-bin.000001 0 +master-bin.000001 1171 master-bin.000002 276 start slave; show binary logs; Log_name File_size -slave-bin.000001 0 +slave-bin.000001 1285 slave-bin.000002 170 show binlog events in 'slave-bin.000001' from 4; Log_name Pos Event_type Server_id Orig_log_pos Info diff --git a/mysql-test/r/rpl_rotate_logs.result b/mysql-test/r/rpl_rotate_logs.result index 66eef482a63..9f74cdb9502 100644 --- a/mysql-test/r/rpl_rotate_logs.result +++ b/mysql-test/r/rpl_rotate_logs.result @@ -27,8 +27,8 @@ insert into t2 values (34),(67),(123); flush logs; show binary logs; Log_name File_size -master-bin.000001 0 -master-bin.000002 0 +master-bin.000001 461 +master-bin.000002 213 master-bin.000003 4 create table t3 select * from temp_table; select * from t3; @@ -43,12 +43,12 @@ start slave; purge master logs to 'master-bin.000002'; show master logs; Log_name File_size -master-bin.000002 0 +master-bin.000002 213 master-bin.000003 229 purge binary logs to 'master-bin.000002'; show binary logs; Log_name File_size -master-bin.000002 0 +master-bin.000002 213 master-bin.000003 229 purge master logs before now(); show binary logs; @@ -74,7 +74,7 @@ count(*) create table t4 select * from temp_table; show binary logs; Log_name File_size -master-bin.000003 0 +master-bin.000003 4167 master-bin.000004 2886 show master status; File Position Binlog_Do_DB Binlog_Ignore_DB diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 02a775f64d1..3f4b002e369 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -663,7 +663,7 @@ static void close_connections(void) project. This will wake up the socket on Windows and prevent the printing of the error message that we are force closing a connection. */ - close_connection(tmp, 0, 1); + close_connection(tmp, 0, 0); if (tmp->mysys_var) { tmp->mysys_var->abort=1; diff --git a/sql/sql_repl.cc b/sql/sql_repl.cc index fe95ee26748..963c4ccf5a6 100644 --- a/sql/sql_repl.cc +++ b/sql/sql_repl.cc @@ -1384,7 +1384,7 @@ int show_binlogs(THD* thd) else { /* this is an old log, open it and find the size */ - if ((file= my_open(fname+dir_len, O_RDONLY | O_SHARE | O_BINARY, + if ((file= my_open(fname, O_RDONLY | O_SHARE | O_BINARY, MYF(0))) >= 0) { file_length= (ulonglong) my_seek(file, 0L, MY_SEEK_END, MYF(0));