From: Andrei Elkin Date: March 29 2011 7:55am Subject: bzr commit into mysql-trunk branch (andrei.elkin:3327) Bug#11763265 List-Archive: http://lists.mysql.com/commits/134115 X-Bug: 11763265 Message-Id: <201103290755.p2T7tKRl028954@mysql1000.dsl.inet.fi> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1428714696==" --===============1428714696== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///home/andrei/MySQL/BZR/2a-23May/FIXES/bug11763265-55956-mysqlbinlog_raw_mode/ based on revid:georgi.kodinov@stripped 3327 Andrei Elkin 2011-03-29 bug#11763265 Potential bug with new --raw mode with mysqlbinlog There were two reported artifacts on possible operations with uninitialized Log_event* pointer inside dump_remote_log_entries(). But only a case of pre-4.0 load-data LOAD_EVENT in --raw mode appears to be problematic. The assignment Load_log_event *le= (Load_log_event*)ev has ev==NULL in that case. whereas Rotate event is indeed handled correctly. Fixed by enforcing all events incl LOAD_EVENT to be dumped as it's supposed to be in the raw mode without reformating the events into load-date event types of the latest binlog format. CREATE_FILE_EVENT is eliminated from the load-data-needs-conversion check which is rather sources code cleaup as checking was ineffective in that case anyway. @ client/mysqlbinlog.cc In case not raw_mode LOAD_EVENT of the 3.23 server version require conversion into the current load-data formats. In case of raw_mode all events including LOAD_EVENT do not need any extra treatment. modified: client/mysqlbinlog.cc === modified file 'client/mysqlbinlog.cc' --- a/client/mysqlbinlog.cc 2011-01-18 12:09:03 +0000 +++ b/client/mysqlbinlog.cc 2011-03-29 07:55:15 +0000 @@ -1673,8 +1673,7 @@ static Exit_status dump_remote_log_entri */ ev->register_temp_buf((char *) net->read_pos + 1); } - if (glob_description_event->binlog_version >= 3 || - (type != LOAD_EVENT && type != CREATE_FILE_EVENT)) + if (raw_mode || (type != LOAD_EVENT)) { /* If this is a Rotate event, maybe it's the end of the requested binlog; @@ -1763,6 +1762,14 @@ static Exit_status dump_remote_log_entri ev= 0; } } + + if (type == LOAD_EVENT) + { + DBUG_ASSERT(raw_mode); + warning("Attempting to load a remote pre-4.0 binary log that contains " + "LOAD DATA INFILE statements. The file will not be copied from " + "the remote server. "); + } if (raw_mode) { --===============1428714696== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/andrei.elkin@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: andrei.elkin@stripped # target_branch: file:///home/andrei/MySQL/BZR/2a-23May/FIXES\ # /bug11763265-55956-mysqlbinlog_raw_mode/ # testament_sha1: 91b281ed13dc83701888b1d33375899f1153ff47 # timestamp: 2011-03-29 10:55:20 +0300 # base_revision_id: georgi.kodinov@stripped\ # lw2g411ffimrgmtt # # Begin bundle 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 2k7JLH3zf9u7hyL/xdyRThQkFtfeCgA= --===============1428714696==--