Commit graph

54798 commits

Author SHA1 Message Date
Mats Kindahl
5cd9d96a68 Bug #34707: Row based replication: slave creates table within wrong database
The failure was caused by executing a CREATE-SELECT statement that creates a
table in another database than the current one. In row-based logging, the
CREATE statement was written to the binary log without the database, hence
creating the table in the wrong database, causing the following inserts to
fail since the table didn't exist in the given database.

Fixed the bug by adding a parameter to store_create_info() that will make
the function print the database name before the table name and used that
in the calls that write the CREATE statement to the binary log. The database
name is only printed if it is different than the currently selected database.

The output of SHOW CREATE TABLE has not changed and is still printed without
the database name.

mysql-test/suite/rpl/r/rpl_row_create_table.result:
  Result file change.
mysql-test/suite/rpl/t/rpl_row_create_table.test:
  Added test to check that CREATE-SELECT into another database than the
  current one replicates.
sql/sql_insert.cc:
  Adding parameter to calls to store_create_info().
sql/sql_show.cc:
  Adding parameter to calls to store_create_info().
  
  Extending store_create_info() with parameter 'show_database' that will cause
  the database to be written before the table name.
sql/sql_show.h:
  Adding parameter to call to store_create_info() to tell if the database should be shown or not.
sql/sql_table.cc:
  Adding parameter to calls to store_create_info().
2008-08-19 13:18:59 +02:00
Magnus Svensson
93d835213e Debug printouts 2008-08-11 10:41:23 +02:00
Magnus Svensson
75b4bdef13 Don't use slots 200-249 since they are also used by PB 2008-08-11 10:41:12 +02:00
Magnus Svensson
97bb894646 fix distcheck 2008-08-10 20:52:49 +02:00
Magnus Svensson
182b14114a Fixup mtr_unique. Remove usage of ps and grep. Make it a module. Move _process_alive to Platform.pm. Rename opt_baseport to baseport, it's not an option 2008-08-10 19:46:43 +02:00
Magnus Svensson
36bebcc13c Fix VS8 build error 2008-08-09 14:59:57 +02:00
Magnus Svensson
fba319490a Open result file in binary moe to avoid CR/LF problems 2008-08-09 14:52:39 +02:00
Magnus Svensson
cda4f08ff3 Add analyze-timeout.test 2008-08-09 11:33:59 +02:00
Magnus Svensson
4e06f6a855 Ad missing ) to CmakeLists.txt 2008-08-09 11:31:17 +02:00
Magnus Svensson
95dbffe2f5 Improve printout for 'found warnings' and add an exit to please mysqltest 2008-08-09 11:29:35 +02:00
Magnus Svensson
cd0cd4e0a0 Make events_restart more stable by waiting for the server to be stopped before starting it again 2008-08-09 11:16:12 +02:00
Magnus Svensson
5a9938e584 Fix warnings in mysqltest 2008-08-09 10:52:50 +02:00
Magnus Svensson
d7f846be94 Merge 2008-08-08 20:10:43 +02:00
Magnus Svensson
bfcefa1bd8 Make opt_big_test a global variable 2008-08-08 19:09:13 +02:00
He Zhenxing
1d5e2c8dc4 post push fix for BUG#37051
mysql-test/r/multi_update.result:
  update result
sql/sql_class.cc:
  Initialize table_map_for_update to 0
2008-08-07 09:33:01 +08:00
He Zhenxing
9fe9b09372 Wait for slave to stop before set skip counter 2008-08-06 18:52:15 +08:00
He Zhenxing
bca856c5b3 Auto merge 2008-08-06 18:41:27 +08:00
Magnus Svensson
31c7b018bd Merge 2008-08-04 22:25:45 +02:00
Magnus Svensson
4a38d4d765 Patch for combinations file using different --default-storage-engine= directives 2008-08-04 21:56:20 +02:00
Magnus Svensson
27e8584271 Bug #38181 Please print more debug info when tests fail 2008-08-04 21:54:44 +02:00
Magnus Svensson
c7de7ff0bd Bug #32307 mysqltest - does not detect illegal if syntax 2008-08-04 12:38:50 +02:00
Sven Sandberg
4cf30d44ef merged 5.1 main to 5.1-rpl
manually resolved conflicts:
Text conflict in client/mysqltest.c
Contents conflict in mysql-test/include/have_bug25714.inc
Text conflict in mysql-test/include/have_ndbapi_examples.inc
Text conflict in mysql-test/mysql-test-run.pl
Text conflict in mysql-test/suite/parts/inc/partition_check_drop.inc
Text conflict in mysql-test/suite/parts/inc/partition_layout.inc
Text conflict in mysql-test/suite/parts/inc/partition_layout_check1.inc
Text conflict in mysql-test/suite/parts/inc/partition_layout_check2.inc
Text conflict in mysql-test/suite/parts/r/partition_alter1_1_2_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_alter1_1_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_alter1_2_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_alter2_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_alter3_innodb.result
Text conflict in mysql-test/suite/parts/r/partition_alter3_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_basic_innodb.result
Text conflict in mysql-test/suite/parts/r/partition_basic_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_basic_symlink_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_engine_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_syntax_myisam.result
Text conflict in mysql-test/suite/rpl_ndb/t/disabled.def
Text conflict in mysql-test/t/disabled.def
2008-08-04 07:04:47 +02:00
Magnus Svensson
dacfba06f8 Bug #32406 #ifdef LATER_HAVE_NDBCLUSTER_DB in client/mysqladmin.cc 2008-08-01 16:15:27 +02:00
Magnus Svensson
5b9f8450c1 Bug #33337 mysql-test-run.pl options --gdb and --ddd don't work with --embedded-server 2008-08-01 16:13:35 +02:00
Magnus Svensson
d4fc0b76c6 Bug #33810 mysql-test-run can't find testcase if it is in a non-default testsuite 2008-08-01 16:08:51 +02:00
He Zhenxing
a018e98cba BUG#37051 Replication rules not evaluated correctly
The problem of this bug is that we need to get the list of tables
to be updated for a multi-table update statement, which requires to
open all the tables referenced by the statement and resolve all
the fields involved in update in order to figure out the list of
tables for update. However if there are replicate filter rules,
some tables might not exist on slave and result in a failure
before we could examine the filter rules.

I think the whole problem can not be solved on slave alone,
the master must record and send the information of tables
involved for update to slave, so that the slave do not need to
open all the tables referenced by the multi-table update statement to
figure out which tables are involved for update.

So a status variable is added to Query_log event to store the
value of table map for update on master. And on slave, it will
try to get the value of this variable and use it to examine
filter rules without opening any tables on slave, if this values
is not available, the old approach is used and thus the bug will
still occur for when replicating from old masters.


sql/sql_class.h:
  add member table_map_for_update to THD
sql/sql_parse.cc:
  check filter rules by using table_map_for_update value
sql/sql_update.cc:
  save the value of table_map_for_update
2008-07-31 14:24:27 +08:00
Magnus Svensson
106e64a67f Always print errno after failed file operation 2008-07-30 12:16:30 +02:00
He Zhenxing
e948f38eae Rmove RESET MASTER from have_log_bin.inc because it can cause some
test to stall for slave_net_timeout and cause some test case fail

mysql-test/include/have_log_bin.inc:
  remove reset master, which can cause some test to stall for slave_net_timeout and cause some test case fail
mysql-test/r/mysqlbinlog_base64.result:
  update result
mysql-test/t/mysqlbinlog_base64.test:
  Add reset master to make sure binlog is clean when the test case start
2008-07-28 15:15:20 +08:00
Serge Kozlov
239fd18411 Bug#37732 2008-07-25 21:23:50 +04:00
Georgi Kodinov
e113042588 Disabled 5.1 tests (and reported bugs)
mysql-test/suite/ndb/t/disabled.def:
  disabled failing test in 5.1-bzr
mysql-test/suite/rpl_ndb/t/disabled.def:
  disabled failing test in 5.1-bzr
2008-07-25 13:32:05 +03:00
Magnus Svensson
4fb774162b merge 2008-07-24 23:30:37 +02:00
Magnus Svensson
7ccb626a2b BUG#37832 Parallel-running mtr --help prints usage many times 2008-07-24 22:58:18 +02:00
Magnus Svensson
b530dc99c4 Remove debug printout 2008-07-24 22:22:47 +02:00
Magnus Svensson
dbdbb7cea2 Add all server arguments to mysqltest_embedded when running check_warnings 2008-07-24 22:21:19 +02:00
Magnus Svensson
264621b95b Check that the default-storage-engine used by test is a supported engine 2008-07-24 22:20:35 +02:00
Chad MILLER
f6f6d81b82 Make community features (including profiling) on by default. 2008-07-24 13:43:14 -04:00
Sven Sandberg
f1069edd11 Add doxygen files to .bzrignore
.bzrignore:
  Ignore doxygen files.
2008-07-24 16:44:41 +02:00
Sven Sandberg
ef47cbd415 BUG#37717: rpl.rpl_stm_until 'stmt' fails sporadically on pushbuild
Problem: After START SLAVE, the Slave_IO_Status column of
SHOW SLAVE STATUS goes from No to Yes asynchronously. That
caused sporadic failures on pushbuild in rpl_stm_until since
the test contains SHOW SLAVE STATUS right after START SLAVE.
Fix: Wait until Slave_IO_Status becomes Yes after each
START SLAVE.

mysql-test/include/wait_for_slave_io_to_start.inc:
  Macro that waits until the Slave_IO_Running field of
  SHOW SLAVE STATUS becomes Yes.
mysql-test/suite/rpl/r/rpl_stm_until.result:
  updated result file
mysql-test/suite/rpl/t/rpl_stm_until.test:
   - Added wait_for_slave_io_to_start after each start slave.
   - Removed unused initialization of test variable $VERSION
   - Added comments.
2008-07-23 13:23:52 +02:00
Sven Sandberg
47f6bc8382 BUG#37834: mtr --max-test-fail=0 does not set max number of failed tests to unlimited
Problem: mtr --max-test-fail=0 should allow unlimited number
of errors, but stops after the second error.
Fix: It's just a typo in mysql-test-run.pl


mysql-test/mysql-test-run.pl:
  Just a typo.
2008-07-22 20:55:20 +02:00
Davi Arnaut
afeab2052f Merge 5.1-bugteam into main. 2008-07-22 15:24:31 -03:00
Davi Arnaut
a555716d44 Silence warning due to unused function.
sql/field.cc:
  Function is only used if replication is compiled in.
2008-07-22 14:53:36 -03:00
Davi Arnaut
2f22ef15e3 Merge from mysql-5.1.27 release tree. 2008-07-22 14:41:26 -03:00
Sergei Golubchik
233e216209 merge 2008-07-22 16:42:03 +02:00
Kristofer Pettersson
daa884375c auto merge 2008-07-22 13:33:37 +02:00
Kristofer Pettersson
3a3894d2ca Disabled two test cases in 5.1 because of random failures. 2008-07-22 13:04:32 +02:00
Kristofer Pettersson
14afcb436f merge 5.1->5.1-bugteam 2008-07-22 12:56:36 +02:00
Kristofer Pettersson
f5bbcba96f merge 5.0->5.0-bugteam 2008-07-22 12:55:15 +02:00
Kristofer Pettersson
3d3b04e06d sql/log.cc:
Auto merge
2008-07-22 12:41:55 +02:00
Tatiana A. Nurnberg
d78158f471 auto-merge 2008-07-22 08:54:07 +02:00
Sven Sandberg
6334196bd7 BUG#38269: pushbuild gives valgrind error in ha_statistic_increment for rpl_temporary
This does not fix the bug. It only disables the failing test.


mysql-test/suite/rpl/t/disabled.def:
  disable rpl_temporary
2008-07-21 21:05:06 +02:00