MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry.
Find a file
unknown ed9e73077d BUG#34141: mysqlbinlog cannot read 4.1 binlogs containing load data infile
Main problem: mysql 5.1 cannot read binlogs from 4.1.
Subproblem 1: There is a mistake in sql_ex_info::init. The read_str()
function updates its first argument to point to the next character to
read. However, it is applied only to a copy of the buffer pointer, so the
real buffer pointer is not updated.
Fix 1: do not take a copy of the buffer pointer. The copy was needed
because sql_ex_info::init does not use the const attribute on some of its
arguments. So we add the const attribute, too.
Subproblem 2: The first BINLOG statement is asserted to be a
FORMAT_DESCRIPTION_LOG_EVENT, but 4.1 binlogs begin with START_EVENT_V3.
Fix 2: allow START_EVENT_V3 too.


mysql-test/suite/binlog/std_data/binlog_old_version_4_1.000001:
  New BitKeeper file ``mysql-test/suite/binlog/std_data/binlog_old_version_4_1.000001''
mysql-test/suite/binlog/r/binlog_old_versions.result:
  Updated result file.
mysql-test/suite/binlog/t/binlog_old_versions.test:
  Added a test reading an old 4.1 binlog.
sql/log_event.cc:
  1. Added const keyword at the following places:
   - input buffer for pretty_print_str
   - input buffer for write_str
   - input buffer, end pointer, and return value from sql_ex_info::init
  2. Fixed the bug by not taking a copy of buf before calling read_str in
  sql_ex_info::init().
sql/log_event.h:
  Added const keyword to fields of the sql_ex_info struct.
  Added const keyword to arguments and return value of sql_ex_info::init
sql/sql_binlog.cc:
  The first BINLOG statement must describe the format for future BINLOG
  statements. Otherwise, we do not know how to read the BINLOG statement.
  Problem: only FORMAT_DESCRIPTION_EVENT is currently allowed as the first
  event. Binlogs from 4.1 begin with a START_EVENT_V3, which serves the
  same purpose.
  Fix: We now allow the first BINLOG statement to be a START_EVENT_V3, as
  well as a FORMAT_DESCRIPTION_EVENT.
2008-01-30 14:12:40 +01:00
BitKeeper Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build 2007-10-25 13:31:31 +02:00
BUILD Merge hezx.(none):/media/hda5/work/mysql/bkwork/bug#30998/mysql-5.0-rpl 2007-12-12 15:43:52 +08:00
client BUG#32407: Impossible to do point-in-time recovery from older binlog 2007-12-14 19:02:02 +01:00
cmd-line-utils Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build-work-18431 2007-11-19 14:55:15 +01:00
config/ac-macros Bug#30296 2007-10-25 21:19:28 -07:00
dbug Bug #27099: system_mysql fail in pushbuild windows 2007-10-15 19:56:24 +03:00
Docs Merge mysql.com:/home/kent/bk/bug25205/mysql-5.0-build 2007-11-02 13:17:07 +01:00
extra Merge ramayana.hindu.god:/home/tsmith/m/bk/51 2007-10-10 14:15:09 -06:00
include Merge elkin@aelkin2.mysql.internal:MySQL/TEAM/FIXES/5.1/bug31609-conflict_detection 2007-12-12 11:21:54 +01:00
libmysql Merge ramayana.hindu.god:/home/tsmith/m/bk/build/51-fix 2007-11-09 18:44:49 -07:00
libmysql_r Makefile.am: 2007-09-26 19:41:46 +02:00
libmysqld Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines 2007-11-13 10:33:50 +01:00
man my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
mysql-test BUG#34141: mysqlbinlog cannot read 4.1 binlogs containing load data infile 2008-01-30 14:12:40 +01:00
mysys Merge ramayana.hindu.god:/home/tsmith/m/bk/build/50 2007-11-19 13:40:49 -07:00
netware Minor Makefile fixes: 2007-10-30 20:06:49 +01:00
plugin Makefile.am: 2007-09-26 18:47:55 +02:00
pstack Makefile.am, configure.in: 2007-09-27 21:39:23 +02:00
regex Merge bk-internal.mysql.com:/home/bk/mysql-5.1-marvel 2007-08-16 18:21:47 +02:00
scripts Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl-merge 2007-11-28 12:34:25 +01:00
server-tools WL#4104: Deprecate the Instance Manager. 2007-10-22 23:02:05 +04:00
sql BUG#34141: mysqlbinlog cannot read 4.1 binlogs containing load data infile 2008-01-30 14:12:40 +01:00
sql-bench Fixed compiler warnings 2007-02-23 13:13:55 +02:00
sql-common Merge mysql.com:/home/gluh/MySQL/Merge/5.1 2007-11-14 17:30:16 +04:00
storage Applied InnoDB snapshot innodb-5.1-ss2093 2007-11-20 12:23:18 -07:00
strings Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1 2007-11-21 21:15:33 +01:00
support-files Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build 2007-11-21 19:42:50 +01:00
tests Merge mysql.com:/home/gluh/MySQL/Merge/5.1 2007-11-14 17:30:16 +04:00
unittest Fixes Bug#30127: --debug-info no longer prints memory usage in mysql 2007-08-01 22:59:05 +03:00
vio Merge pilot.(none):/data/msvensson/mysql/mysql-5.0-maint 2007-08-28 11:36:10 +02:00
win Merge ramayana.hindu.god:/home/tsmith/m/bk/51 2007-09-28 10:55:28 -06:00
zlib CMakeLists.txt, README, configure.js 2007-08-03 21:51:37 +02:00
.bzrignore Merge mysql.com:/home/hf/work/31305/my50-31305 2007-11-12 13:07:30 +04:00
.cvsignore Import changeset 2000-07-31 21:29:14 +02:00
CMakeLists.txt Merge alf.(none):/src/bug31319/my50-bug31319 2007-11-02 15:17:37 -04:00
configure.in Raise version number after cloning 5.0.52 2007-11-20 11:26:16 +01:00
COPYING - manual.texi will be replaced with a manual written in DocBook/XML. This ChangeSet removes all 2005-04-13 11:51:38 +02:00
EXCEPTIONS-CLIENT EXCEPTIONS-CLIENT: 2007-03-14 18:28:16 +01:00
INSTALL-SOURCE Makefile.am: 2007-11-02 12:59:45 +01:00
INSTALL-WIN-SOURCE Makefile.am: 2007-11-02 12:59:45 +01:00
Makefile.am Minor Makefile fixes: 2007-10-30 20:06:49 +01:00
README make_binary_distribution.sh: 2006-11-07 22:26:37 +01:00

This is a release of MySQL, a dual-license SQL database server.
MySQL is brought to you by the MySQL team at MySQL AB.

License information can be found in these files:
- For GPL (free) distributions, see the COPYING file and
  the EXCEPTIONS-CLIENT file.
- For commercial distributions, see the LICENSE.mysql file.


For further information about MySQL or additional documentation, see:
- The latest information about MySQL: http://www.mysql.com
- The current MySQL documentation: http://dev.mysql.com/doc

Some manual sections of special interest:

- If you are migrating from an older version of MySQL, please read the
  "Upgrading from..." section first!
- To see what MySQL can do, take a look at the features section.
- For installation instructions, see the Installing and Upgrading chapter.
- For the new features/bugfix history, see the Change History appendix.
- For the currently known bugs/misfeatures (known errors) see the Problems
  and Common Errors appendix.
- For a list of developers and other contributors, see the Credits
  appendix.

A local copy of the MySQL Reference Manual can be found in the Docs
directory in GNU Info format.  You can also browse the manual online or
download it in any of several formats at the URL given earlier in this
file.

************************************************************

IMPORTANT:

Bug or error reports should be sent to http://bugs.mysql.com.