Commit 750eedd9 authored by unknown's avatar unknown
Browse files

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
parent 3ee08038
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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
+5 −5
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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));