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.
parent 00c3b943
...@@ -68,12 +68,12 @@ master-bin.000002 168 Query 1 168 use `test`; insert into t1 values (1) ...@@ -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 master-bin.000002 228 Query 1 228 use `test`; drop table t1
show binary logs; show binary logs;
Log_name File_size Log_name File_size
master-bin.000001 0 master-bin.000001 1171
master-bin.000002 276 master-bin.000002 276
start slave; start slave;
show binary logs; show binary logs;
Log_name File_size Log_name File_size
slave-bin.000001 0 slave-bin.000001 1285
slave-bin.000002 170 slave-bin.000002 170
show binlog events in 'slave-bin.000001' from 4; show binlog events in 'slave-bin.000001' from 4;
Log_name Pos Event_type Server_id Orig_log_pos Info Log_name Pos Event_type Server_id Orig_log_pos Info
......
...@@ -27,8 +27,8 @@ insert into t2 values (34),(67),(123); ...@@ -27,8 +27,8 @@ insert into t2 values (34),(67),(123);
flush logs; flush logs;
show binary logs; show binary logs;
Log_name File_size Log_name File_size
master-bin.000001 0 master-bin.000001 461
master-bin.000002 0 master-bin.000002 213
master-bin.000003 4 master-bin.000003 4
create table t3 select * from temp_table; create table t3 select * from temp_table;
select * from t3; select * from t3;
...@@ -43,12 +43,12 @@ start slave; ...@@ -43,12 +43,12 @@ start slave;
purge master logs to 'master-bin.000002'; purge master logs to 'master-bin.000002';
show master logs; show master logs;
Log_name File_size Log_name File_size
master-bin.000002 0 master-bin.000002 213
master-bin.000003 229 master-bin.000003 229
purge binary logs to 'master-bin.000002'; purge binary logs to 'master-bin.000002';
show binary logs; show binary logs;
Log_name File_size Log_name File_size
master-bin.000002 0 master-bin.000002 213
master-bin.000003 229 master-bin.000003 229
purge master logs before now(); purge master logs before now();
show binary logs; show binary logs;
...@@ -74,7 +74,7 @@ count(*) ...@@ -74,7 +74,7 @@ count(*)
create table t4 select * from temp_table; create table t4 select * from temp_table;
show binary logs; show binary logs;
Log_name File_size Log_name File_size
master-bin.000003 0 master-bin.000003 4167
master-bin.000004 2886 master-bin.000004 2886
show master status; show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB File Position Binlog_Do_DB Binlog_Ignore_DB
......
...@@ -663,7 +663,7 @@ static void close_connections(void) ...@@ -663,7 +663,7 @@ static void close_connections(void)
project. This will wake up the socket on Windows and prevent the project. This will wake up the socket on Windows and prevent the
printing of the error message that we are force closing a connection. 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) if (tmp->mysys_var)
{ {
tmp->mysys_var->abort=1; tmp->mysys_var->abort=1;
......
...@@ -1384,7 +1384,7 @@ int show_binlogs(THD* thd) ...@@ -1384,7 +1384,7 @@ int show_binlogs(THD* thd)
else else
{ {
/* this is an old log, open it and find the size */ /* 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) MYF(0))) >= 0)
{ {
file_length= (ulonglong) my_seek(file, 0L, MY_SEEK_END, MYF(0)); file_length= (ulonglong) my_seek(file, 0L, MY_SEEK_END, MYF(0));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment