Commit graph

9 commits

Author SHA1 Message Date
Sergei Golubchik
8da7be6302 generalization of mtr to support suite.pm extensions:
* no automatic --loose-skip-innodb added by mtr based on the test name.
  instead loose-skip-innodb is now in the default_mysqld.cnf
* have_innodb_plugin.inc is changed to give a verbose "skip" message
  (instead of "require: true")
* My::Suite class. It's support in mtr, and everywhere
* support for suite.pm
* when sorting tests, take combinations into account
* support for SUITENAME_COMBINATIONS
* no special treatment for innodb_plugin in mtr_cases.pm
* two special pre-created config groups: ENV and OPT
* allow option names to start from #
* allow magic option to have an argument
* remove dead code
* fix @-substitution to works as expected
* new processes take the value of $opt_verbose automatically, no need to pass it to a constructor
* innodb_plugin suite uses suite.pm and combinations file to test as much as possible
  (innodb plugin, xtradb plugin, xtradb static - whatever available)
* besides test-master.opt and test-slave.opt a test.opt file is also
  loaded, both for master and slave
* .opt files for all included files are loaded too
* progress report in the xterm titlebar
2010-08-17 11:14:46 +04:00
unknown
1c48bea250 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.1
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl


mysql-test/suite/binlog/t/binlog_old_versions.test:
  Auto merged
2008-02-07 12:38:13 +01:00
unknown
2a482933b6 Renaming some saved binary log files to avoid 99 characters
limit for v7 tar.


mysql-test/suite/binlog/std_data/ver_5_1_17.001:
  Rename: mysql-test/suite/binlog/std_data/binlog_old_version_5_1_17.000001 -> mysql-test/suite/binlog/std_data/ver_5_1_17.001
mysql-test/suite/binlog/std_data/ver_5_1_23.001:
  Rename: mysql-test/suite/binlog/std_data/binlog_old_version_5_1_23.000001 -> mysql-test/suite/binlog/std_data/ver_5_1_23.001
mysql-test/suite/binlog/std_data/ver_5_1-telco.001:
  Rename: mysql-test/suite/binlog/std_data/binlog_old_version_5_1-telco.000001 -> mysql-test/suite/binlog/std_data/ver_5_1-telco.001
mysql-test/suite/binlog/std_data/ver_5_1-wl2325_r.001:
  Rename: mysql-test/suite/binlog/std_data/binlog_old_version_5_1-wl2325_row.000001 -> mysql-test/suite/binlog/std_data/ver_5_1-wl2325_r.001
mysql-test/suite/binlog/std_data/ver_5_1-wl2325_s.001:
  Rename: mysql-test/suite/binlog/std_data/binlog_old_version_5_1-wl2325_stm.000001 -> mysql-test/suite/binlog/std_data/ver_5_1-wl2325_s.001
mysql-test/suite/binlog/std_data/bug32407.001:
  Rename: mysql-test/suite/binlog/std_data/binlog-bug32407.000001 -> mysql-test/suite/binlog/std_data/bug32407.001
2008-02-07 12:30:52 +01:00
unknown
f0f956958a Fixes to make tests pass on vanilla build.
mysql-test/suite/binlog/t/binlog_old_versions.test:
  Adding --local-load to 'mysqlbinlog' and --local-infile=1 to 'mysql'.
2008-02-05 17:05:59 +01:00
unknown
a63ef17fca Merge mkindahl@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.1-rpl


include/my_base.h:
  Auto merged
mysql-test/include/show_binlog_events2.inc:
  Auto merged
mysql-test/suite/binlog/t/binlog_old_versions.test:
  Auto merged
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
  Auto merged
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
  Auto merged
mysql-test/suite/rpl/t/rpl_loaddata_map-master.opt:
  Auto merged
mysql-test/suite/rpl/t/rpl_loaddata_map-slave.opt:
  Auto merged
sql/log_event_old.cc:
  Auto merged
sql/sql_binlog.cc:
  Auto merged
mysql-test/suite/rpl/r/rpl_loaddata_map.result:
  Manual merge.
mysql-test/suite/rpl/r/rpl_user.result:
  Manual merge.
mysql-test/suite/rpl/t/rpl_loaddata_map.test:
  Manual merge.
mysql-test/suite/rpl/t/rpl_user.test:
  Manual merge.
sql/log_event.cc:
  Manual merge.
sql/rpl_record.cc:
  Manual merge.
2008-02-05 14:52:20 +01:00
unknown
57c599b3d4 Disabling test case binlog_old_version for embedded server.
mysql-test/lib/mtr_report.pl:
  Ignoring benign error message (killing query causes unpredictable
  error messages).
mysql-test/suite/binlog/t/binlog_old_versions.test:
  Disabling test case for embedded server.
sql/rpl_rli.cc:
  Inititializing uninitialized variable causing valgrind warning.
2008-02-05 08:22:27 +01:00
unknown
1e40902cc5 Fixes to makes tests pass on Windows and vanilla build.
mysql-test/suite/binlog/t/binlog_old_versions.test:
  MYSQL_BINLOG was missing --local-load option.
  MYSQL was missing --local-infile=1 option.
2008-02-01 14:27:23 +01:00
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
unknown
3a6e84a2b3 BUG#27779: Slave cannot read old rows log events.
Problem: Replication fails when master is mysql-5.1-wl2325-5.0-drop6 and
slave is mysql-5.1-new-rpl. The reason is that, in
mysql-5.1-wl2325-5.0-drop6, the event type id's were different than in
mysql-5.1-new-rpl.
Fix (in mysql-5.1-new-rpl):
 (1) detect that the server that generated the events uses the old
format, by checking the server version of the format_description_log_event
This patch recognizes mysql-5.1-wl2325-5.0-drop6p13-alpha,
mysql-5.1-wl2325-5.0-drop6, mysql-5.1-wl2325-5.0, mysql-5.1-wl2325-no-dd.
 (2) if the generating server is old, map old event types to new event
types using a permutation array.

I've also added a test case which reads binlogs for four different
versions.


mysql-test/suite/binlog/std_data/binlog_old_version_5_1-telco.000001:
  BitKeeper file /home/sven/bk/b27779-old_row_events/5.1-new-rpl/mysql-test/suite/binlog/std_data/binlog_old_version_5_1-telco.000001
mysql-test/suite/binlog/std_data/binlog_old_version_5_1-wl2325_row.000001:
  BitKeeper file /home/sven/bk/b27779-old_row_events/5.1-new-rpl/mysql-test/suite/binlog/std_data/binlog_old_version_5_1-wl2325_row.000001
mysql-test/suite/binlog/std_data/binlog_old_version_5_1-wl2325_stm.000001:
  BitKeeper file /home/sven/bk/b27779-old_row_events/5.1-new-rpl/mysql-test/suite/binlog/std_data/binlog_old_version_5_1-wl2325_stm.000001
mysql-test/suite/binlog/std_data/binlog_old_version_5_1_17.000001:
  BitKeeper file /home/sven/bk/b27779-old_row_events/5.1-new-rpl/mysql-test/suite/binlog/std_data/binlog_old_version_5_1_17.000001
mysql-test/suite/binlog/std_data/binlog_old_version_5_1_23.000001:
  BitKeeper file /home/sven/bk/b27779-old_row_events/5.1-new-rpl/mysql-test/suite/binlog/std_data/binlog_old_version_5_1_23.000001
sql/log_event.cc:
  Added code to read events generated by
  mysql-5.1-wl2325-5.0-drop6p13-alpha, mysql-5.1-wl2325-5.0-drop6,
  mysql-5.1-wl2325-5.0, mysql-5.1-wl2325-no-dd.
  More precisely, the event type id's had different numbers in
  those versions. To fix, we add a permutation array which maps old_id to
  new_id when the format_description_log_event indicates that the
  originating server is of the old type. We also need to permute the
  post_header_len array accordingly.
sql/log_event.h:
  sql/log_event.h@1.169, 2008-01-09 11:34:37+01:00, sven@riska.(none) +5 -1
  Added declaration needed in log_event.cc. Also, the destructor of
  Format_description_log_event is sometimes called when post_header_len is
  null, so we must pass the MY_ALLOW_ZERO_PTR flag to my_free.
mysql-test/suite/binlog/r/binlog_old_versions.result:
  Result file for new test.
mysql-test/suite/binlog/t/binlog_old_versions.test:
  New test case that loads binlogs from several old versions.
2008-01-10 16:39:44 +01:00