From d15f2426c981fff7e1aa5c2e32a57f4a251f1052 Mon Sep 17 00:00:00 2001 From: "monty@mysql.com" <> Date: Sun, 21 Dec 2003 19:41:34 +0200 Subject: [PATCH] Fixed bug in replacation for not x86 platforms Portability fixes --- mysql-test/r/rpl_relayrotate.result | 2 +- mysql-test/t/rpl_relayrotate.test | 1 + sql/log_event.cc | 26 +++++++++++++------------- sql/uniques.cc | 25 ++++++++++++------------- 4 files changed, 27 insertions(+), 27 deletions(-) diff --git a/mysql-test/r/rpl_relayrotate.result b/mysql-test/r/rpl_relayrotate.result index 23091a09bb3..bd6e10409b9 100644 --- a/mysql-test/r/rpl_relayrotate.result +++ b/mysql-test/r/rpl_relayrotate.result @@ -18,5 +18,5 @@ max(a) 8000 show slave status; Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master -# 127.0.0.1 root 9306 1 master-bin.000001 687207 # # master-bin.000001 Yes Yes 0 0 687207 # None 0 No # +# 127.0.0.1 root MASTER_MYPORT 1 master-bin.000001 687207 # # master-bin.000001 Yes Yes 0 0 687207 # None 0 No # drop table t1; diff --git a/mysql-test/t/rpl_relayrotate.test b/mysql-test/t/rpl_relayrotate.test index 64724061bc5..20a77ff8b64 100644 --- a/mysql-test/t/rpl_relayrotate.test +++ b/mysql-test/t/rpl_relayrotate.test @@ -58,6 +58,7 @@ start slave; select master_pos_wait('master-bin.001',3000)>=0; select max(a) from t1; --replace_column 1 # 8 # 9 # 23 # 33 # +--replace_result $MASTER_MYPORT MASTER_MYPORT show slave status; # The following DROP is a very important cleaning task: diff --git a/sql/log_event.cc b/sql/log_event.cc index 0ff521ce650..cb04b8d7f2f 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -1138,20 +1138,19 @@ Query_log_event::Query_log_event(const char* buf, uint event_len, /* variable-part: the status vars; only in MySQL 5.0 */ - const char* start= buf+post_header_len; - const char* end= start+status_vars_len; + const uchar *start= (uchar*) (buf+post_header_len); + const uchar *end= (uchar*) (start+status_vars_len); /* The place from which we will start string duplication. */ - const char* start_dup= end; + const uchar *start_dup= end; - for (const char* pos=start;pos= MERGEBUFF2) { - lastbuff=0; + uint lastbuff= 0; for (i = 0; i <= (int) maxbuffer - MERGEBUFF*3/2; i += MERGEBUFF) - total_cost+=get_merge_buffers_cost(buff_elems, elem_size, lastbuff++, + { + total_cost+=get_merge_buffers_cost(buff_elems, elem_size, buff_elems + i, buff_elems + i + MERGEBUFF-1); - - total_cost+=get_merge_buffers_cost(buff_elems, elem_size, lastbuff++, + lastbuff++; + } + total_cost+=get_merge_buffers_cost(buff_elems, elem_size, buff_elems + i, buff_elems + maxbuffer); - maxbuffer= (uint)lastbuff-1; + maxbuffer= lastbuff; } } /* Simulate final merge_buff call. */ - total_cost += get_merge_buffers_cost(buff_elems, elem_size, buff_elems, + total_cost += get_merge_buffers_cost(buff_elems, elem_size, buff_elems, buff_elems + maxbuffer); return total_cost; } @@ -293,8 +292,8 @@ double Unique::get_use_cost(uint *buffer, uint nkeys, uint key_size, writes are sequential. */ result += DISK_SEEK_BASE_COST * n_full_trees * - ceil(key_size*max_elements_in_tree / IO_SIZE); - result += DISK_SEEK_BASE_COST * ceil(key_size*last_tree_elems / IO_SIZE); + ceil(((double) key_size)*max_elements_in_tree / IO_SIZE); + result += DISK_SEEK_BASE_COST * ceil(((double) key_size)*last_tree_elems / IO_SIZE); /* Cost of merge */ double merge_cost= get_merge_many_buffs_cost(buffer, n_full_trees,