Commit graph

22503 commits

Author SHA1 Message Date
Magnus Svensson
8fb38c6b78 Make mysql-test-run.pl executable by user 2008-09-05 14:23:52 +02:00
Magnus Svensson
913ec830b3 WL#4350
- Rearrange spawn worker code
2008-09-05 14:09:39 +02:00
Magnus Svensson
7f954bd287 Fix misspelled variable in mtr.pl 2008-09-05 14:06:22 +02:00
Magnus Svensson
c3e7b68995 Fix gcov in mtr.pl 2008-09-05 11:32:33 +02:00
Magnus Svensson
6a4af260cc Bug#36616 rpl tests without 'source include/have_log_bin.inc' fail starting server 2008-08-29 14:46:22 +02:00
Magnus Svensson
a846ab811e Bug#33337, silently convert --gdb(etc.) to --client-gdb in embedded mode 2008-08-29 12:33:02 +02:00
Magnus Svensson
37e6f0c6ab Print error message in diff_files if any of the two files to diff does not exist 2008-08-29 12:25:19 +02:00
Andrei Elkin
3a1c50bc53 Bug #36968 rpl_temporary_errors.test produces warning in pushbuild
Backporting fixes to 5.1 from 6.0.
2008-08-25 15:40:44 +03:00
Mats Kindahl
25bb56accb Merging with 5.1-rpl. 2008-08-20 10:42:39 +02:00
Mats Kindahl
1bfa707a7a Bug #38773: DROP DATABASE cause switch to stmt-mode when there are temporary tables open
When executing a DROP DATABASE statement in ROW mode and having temporary
tables open at the same time, the existance of temporary tables prevent
the server from switching back to row mode after temporarily switching to
statement mode to handle the logging of the statement.

Fixed the problem by removing the code to switch to statement mode and added
code to temporarily disable the binary log while dropping the objects in the
database.
2008-08-20 10:06:50 +02:00
Mats Kindahl
e28826766f Merging with 5.1-rpl 2008-08-19 15:42:10 +02:00
Mats Kindahl
f0bf4a47ca 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.
2008-08-19 13:18:59 +02:00
He Zhenxing
f94e914d47 post fixes after merge 2008-08-15 10:31:04 +08:00
He Zhenxing
ea30bcda06 auto merge 2008-08-14 17:59:12 +08:00
He Zhenxing
c6c2e66c67 Merge 5.1-rpl-testfixes -> 5.1-rpl 2008-08-14 17:38:22 +08:00
He Zhenxing
e2516c53fe fix after merge 2008-08-14 16:27:28 +08:00
He Zhenxing
646c509b18 Auto merge from mysql-5.1 main 2008-08-14 14:27:18 +08:00
Andrei Elkin
2923e91b5a Bug #38738 rpl_ndb_mixed_engines_transactions result content mismatch
pb notices differences in results at the very beginning of the test.

Absense of mysql.ndb_apply_status must be benign anyway, but the warning should not happen
if have_ndb.inc is invoked ahead of ndb_master-slave.
Fixed with relocation of the macros.
2008-08-14 00:18:31 +03:00
Serge Kozlov
35e47b31a2 Bug#18817, removing --binlog-format option from .opt files 2008-08-13 23:12:51 +04:00
Timothy Smith
d62d3f34a7 Up-merge from 5.0; adds test for innodb bug 34286 (but no code changes). 2008-08-13 01:27:22 -06:00
He Zhenxing
87b43cf0df Apply tomas's patch to fix rpl_row_basic.test, this can fix BUG#37884,
BUG#38369, enable rpl_row_basic_7ndb test
2008-08-12 17:09:36 +08:00
Magnus Svensson
788362de81 Debug printouts 2008-08-11 10:41:23 +02:00
Magnus Svensson
3a72c5bf61 Don't use slots 200-249 since they are also used by PB 2008-08-11 10:41:12 +02:00
Magnus Svensson
6244c476f5 fix distcheck 2008-08-10 20:52:49 +02:00
Magnus Svensson
c431b23bae 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
00560ac3d4 Add analyze-timeout.test 2008-08-09 11:33:59 +02:00
Magnus Svensson
aceba783f8 Improve printout for 'found warnings' and add an exit to please mysqltest 2008-08-09 11:29:35 +02:00
Magnus Svensson
66b42a13f2 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
69f9ec281d Merge 2008-08-08 20:10:43 +02:00
Magnus Svensson
36459fb6dc Make opt_big_test a global variable 2008-08-08 19:09:13 +02:00
Timothy Smith
8ddc42db21 Up-merge test case for bug 35220 from 5.0 (no real code changes). 2008-08-07 18:33:12 -06:00
Timothy Smith
4ea036f4cb Cherry-pick fix for Bug#35220 from innodb-5.0-ss2475 snapshot.
Bug#35220: ALTER TABLE too picky on reserved word "foreign"

In ALTER TABLE, change the internal parser to search for
``FOREIGN[[:space:]]'' instead of only ``FOREIGN'' when parsing
ALTER TABLE ... DROP FOREIGN KEY ...; otherwise it could be mistaken
with ALTER TABLE ... DROP foreign_col;

(This fix is already present in MySQL 5.1 and higher.)
2008-08-07 18:25:24 -06:00
He Zhenxing
32f4018500 post push fix for BUG#37051 2008-08-07 09:33:01 +08:00
He Zhenxing
2441ec8770 Wait for slave to stop before set skip counter 2008-08-06 18:52:15 +08:00
He Zhenxing
337029cae2 Auto merge 2008-08-06 18:41:27 +08:00
Magnus Svensson
ed8bc526ae Merge 2008-08-04 22:25:45 +02:00
Magnus Svensson
afbbe64aae Patch for combinations file using different --default-storage-engine= directives 2008-08-04 21:56:20 +02:00
Magnus Svensson
39ad2dc05a Bug #38181 Please print more debug info when tests fail 2008-08-04 21:54:44 +02:00
Magnus Svensson
798590b798 Bug #32307 mysqltest - does not detect illegal if syntax 2008-08-04 12:38:50 +02:00
Sven Sandberg
73e253370b 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
7e5752e27b 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
53e17da331 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
Timothy Smith
021d7d72f8 Cherry-pick InnoDB fixes for Bug#34286, Bug#35352, and Bug#36600 from snapshot
innodb-5.0-ss2475.

Bug #34286  Assertion failure in thread 2816 in file .\row\row0sel.c line 3500
Since autoinc init performs a MySQL SELECT query to determine the auto-inc
value, set prebuilt->sql_stat_start = TRUE so that it is performed like any
normal SELECT, regardless of the context in which it was invoked.


Bug #35352  If InnoDB crashes with UNDO slots full error the error persists on restart
We've added a heuristic that checks the size of the UNDO slots cache lists
(insert and upate). If either of cached lists has more than 500 entries then we
add any UNDO slots that are freed, to the common free list instead of the cache
list, this is to avoid the case where all the free slots end up in only one of
the lists on startup after a crash.

Tested with test case for 26590 and passes all mysql-test(s).

Bug #36600  SHOW STATUS takes a lot of CPU in buf_get_latched_pages_number
Fixed by removing the Innodb_buffer_pool_pages_latched variable from SHOW
STATUS output in non-UNIV_DEBUG compilation.
2008-07-31 15:47:57 -06:00
Georgi Kodinov
3d215551bb merged 34159 and 37662 5.0-bugteam->5.1-bugteam 2008-07-31 12:50:24 +03:00
He Zhenxing
e6ac8830a4 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.
2008-07-31 14:24:27 +08:00
Georgi Kodinov
425abb4904 Bug#37662 nested if() inside sum() is parsed in exponential time
min() and max() functions are implemented in MySQL as macros.
This means that max(a,b) is expanded to: ((a) > (b) ? (a) : (b))
Note how 'a' is quoted two times.
Now imagine 'a' is a recursive function call that's several 10s of levels deep.
And the recursive function does max() with a function arg as well to dive into
recursion.
This means that simple function call can take most of the clock time.
Identified and fixed several such calls to max()/min() : including the IF() 
sql function implementation.
2008-07-30 14:07:37 +03:00
Sven Sandberg
1562db45f1 merge 5.1 main -> 5.1-rpl-testfixes
all changes automerged without conflicts
2008-07-29 19:55:46 +02:00
Sven Sandberg
3d5289c2dd BUG#38068: binlog_stm_binlog fails sporadically in pushbuild
Post-push fix: updated some result files that were affected
by the previous fix to this bug.
2008-07-29 17:36:13 +02:00
Igor Babaev
47cd6462fd Merge 2008-07-28 01:24:56 -07:00
He Zhenxing
b1252a7ccf 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
2008-07-28 15:15:20 +08:00