From: Andrei Elkin Date: March 29 2011 8:04am Subject: bzr commit into mysql-trunk branch (andrei.elkin:3327) Bug#11763265 List-Archive: http://lists.mysql.com/commits/134119 X-Bug: 11763265 Message-Id: <201103290804.p2T84g9l029000@mysql1000.dsl.inet.fi> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0025497359==" --===============0025497359== 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 08:04:37 +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) { --===============0025497359== 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: 03f071ee492b3267726194dd053fff3e2901b31a # timestamp: 2011-03-29 11:04:42 +0300 # base_revision_id: georgi.kodinov@stripped\ # lw2g411ffimrgmtt # # Begin bundle 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 rjzGc5CdUK5dw9gNHP17cC/8XckU4UJAJOQPHA== --===============0025497359==--