1
0
mirror of https://github.com/MariaDB/server.git synced 2025-09-02 09:41:40 +03:00
Commit Graph

24496 Commits

Author SHA1 Message Date
Bjorn Munch
7cdccfa05b Bug #46755 Wrong grammar in some skip messages: Test need instead of Test needs
Fixed in two comments as well
2009-08-17 11:21:02 +02:00
Ramil Kalimullin
4dcaa978e3 Automerge 2009-08-14 14:13:16 +05:00
Davi Arnaut
1cf02d95a7 Merge from mysql-5.0-bugteam. 2009-08-13 17:45:01 -03:00
Joerg Bruehe
20efa8d972 Merge main 5.1 into 5.1-build 2009-08-13 22:25:58 +02:00
Ramil Kalimullin
1aec6f7acf Fix for bug #46614: Assertion in show_create_trigger()
on SHOW CREATE TRIGGER + MERGE table

Problem: SHOW CREATE TRIGGER erroneously relies on fact
that we have the only underlying table for a trigger
(wrong for merge tables).

Fix: remove erroneous assert().
2009-08-14 00:49:28 +05:00
Alfranio Correia
d7c288f600 BUG#46130 Slave does not correctly handle "expected errors"
In STATEMENT based replication, a statement that failed on the master but that
updated non-transactional tables is written to binary log with the error code
appended to it. On the slave, the statement is executed and the same error is
expected. However, when an "expected error" did not happen on the slave and was
either ignored or was related to a concurrency issue on the master, the slave
did not rollback the effects of the statement and as such inconsistencies might
happen.

To fix the problem, we automatically rollback a statement that should have
failed on a slave but succeded and whose expected failure is either ignored or
stems from a concurrency issue on the master.
2009-08-13 17:21:01 +01:00
Bjorn Munch
9407780994 Bug #44979 Enhance MTR --experimental to support platform qualifier
Adding @<platform> syntax
2009-08-13 15:29:19 +02:00
10e90a1fe5 BUG#45574 CREATE IF NOT EXISTS is not binlogged if the object exists
There is an inconsistency with DROP DATABASE|TABLE|EVENT IF EXISTS and
CREATE DATABASE|TABLE|EVENT IF NOT EXISTS. DROP IF EXISTS statements are
binlogged even if either the DB, TABLE or EVENT does not exist. In
contrast, Only the CREATE EVENT IF NOT EXISTS is binlogged when the EVENT
exists.  

This patch fixes the following cases for all the replication formats:
CREATE DATABASE IF NOT EXISTS.
CREATE TABLE IF NOT EXISTS,
CREATE TABLE IF NOT EXISTS ... LIKE,
CREAET TABLE IF NOT EXISTS ... SELECT.
2009-08-13 10:48:57 +08:00
Guilhem Bichot
644891a260 merge of 5.1-build into trunk, to get one vardir per test run 2009-08-12 17:58:58 +02:00
Daniel Fischer
cb0df3eed7 Create separate vardirs during collections test runs. 2009-08-12 17:10:15 +02:00
Guilhem Bichot
8830e6f0be 8M was too small for the InnoDB data file, needs 10M.
Updating test for smaller InnoDB buffer pool size used by the testsuite.
2009-08-12 16:39:50 +02:00
Guilhem Bichot
9f61750700 several tests fail with --mem --parallel because the InnoDB files fill /dev/shm;
fix is to run the testsuite with the same InnoDB options (buffer pool size,
log file size etc) as we always ran it for the InnoDB builtin in 5.1.
2009-08-12 15:48:47 +02:00
Guilhem Bichot
8d1fdf09bb merge of 5.1-main into mysql-trunk.
Changes to ha_innodb.cc are not propagated to plugin, they will come back
via Oracle/Innobase if needed.
2009-08-12 15:44:34 +02:00
Sergey Vojtovich
68b96702a0 Disable main.index_merge_innodb with InnoDB plugin. The test case is
not ready to run with innoplug-1.0.4.
2009-08-12 17:46:12 +05:00
Mattias Jonsson
0c342270a1 manual merge 2009-08-12 12:03:05 +02:00
Mattias Jonsson
475c64238a merge 2009-08-12 11:46:08 +02:00
dc4b7b8943 Manual Merge 2009-08-12 13:31:56 +08:00
f5be2159fe BUG#45516 SQL thread does not use database charset properly
Replication SQL thread does not set database default charset to 
thd->variables.collation_database properly, when executing LOAD DATA binlog.
This bug can be repeated by using "LOAD DATA" command in STATEMENT mode.
        
This patch adds code to find the default character set of the current database 
then assign it to thd->db_charset when slave server begins to execute a relay log.
The test of this bug is added into rpl_loaddata_charset.test
2009-08-12 11:54:05 +08:00
Guilhem Bichot
648f4cdf54 importing Vlad's fix which should eliminate many Windows test failures.
Putting back Summit defaults (removing them didn't seem to have a good effect on pushbuild2).
2009-08-11 18:35:22 +02:00
Davi Arnaut
501c7d2e4f Merge from mysql-5.0-bugteam. 2009-08-11 13:29:45 -03:00
Joerg Bruehe
1f1163455b Correct a merge error that happened during a backport for 5.0.82sp1:
The test for the 45806 entry in our bug DB got applied twice,
in different places for the "view.test" and "view.result" files.

The fix is to simply remove the erroneous insertion.
2009-08-11 18:13:53 +02:00
Davi Arnaut
2c21af95de Update test case result due to mis-merge. 2009-08-11 13:13:06 -03:00
Davi Arnaut
6fe39a9350 Merge from mysql-5.1-bugteam. 2009-08-11 11:29:07 -03:00
Bjorn Munch
c368771314 Bug #45847 make --gdb disable all the timeouts by default
Set to one week for testcase and suite timeout
Also set one day timeout for PID file creation (not currently needed in 5.1 but might become, and is needed in azalea)
2009-08-11 15:59:05 +02:00
Sergey Vojtovich
7a77e3d05a Merge mysql-5.1-innodb_plugin to mysql-5.1. 2009-08-11 18:05:25 +05:00
Bjorn Munch
687612c8c4 Bug #44479 mysql-test-run does not detect that external server has Innodb support
Variable name mismatch
Map variable have_innodb=YES to innodb=ON
2009-08-11 12:59:43 +02:00
Guilhem Bichot
d66bc4e67c temporarily remove Summit defaults of InnoDB options, to see if it influences pushbuild2 2009-08-11 12:38:23 +02:00
Davi Arnaut
4ead3820d2 Merge from mysql-5.0-bugteam. 2009-08-10 19:47:28 -03:00
hery.ramilison@sun.com
889eea06ee Merge 2009-08-10 20:53:26 +02:00
Davi Arnaut
eb94a70784 Manual merge. 2009-08-10 15:46:20 -03:00
Martin Hansson
48e0a640f9 Merge 2009-08-10 16:08:51 +02:00
Guilhem Bichot
426a5e19f7 working around BUG 46043 "mysqld --skip-innodb does not skip InnoDB",
to fix test failures on OS X PPC and Sparc64
2009-08-10 12:49:12 +02:00
Davi Arnaut
69fbbdc19d Bug#45010: invalid memory reads during parsing some strange statements
The problem is that the lexer could inadvertently skip over the
end of a query being parsed if it encountered a malformed multibyte
character. A specially crated query string could cause the lexer
to jump up to six bytes past the end of the query buffer. Another
problem was that the laxer could use unfiltered user input as
a signed array index for the parser maps (having upper and lower
bounds 0 and 256 respectively).

The solution is to ensure that the lexer only skips over well-formed
multibyte characters and that the index value of the parser maps
is always a unsigned value.
2009-08-07 23:32:01 -03:00
Guilhem Bichot
56fb9592e9 Fixes to tests and their results, to account for differences between InnoDB 1.0.4 and the old builtin.
All committed result differences have either been verified by me or copied from Oracle's provided
results (storage/innodb_plugin/mysql-test/*.result, storage/innodb_plugin/mysql-test/patches).
2009-08-07 22:04:53 +02:00
Martin Hansson
5421a8e858 Bug#46454: MySQL wrong index optimisation leads to incorrect result & crashes
Problem 1:
When the 'Using index' optimization is used, the optimizer may still - after
cost-based optimization - decide to use another index in order to avoid using
a temporary table. But when this happens, the flag to the storage engine to 
read index only (not table) was still set. Fixed by resetting the flag in the 
storage engine and TABLE structure in the above scenario, unless the new index
allows for the same optimization.
Problem 2:
When a 'ref' access method was employed by cost-based optimizer, (when the column
is non-NULLable), it was assumed that it needed no initialization if 'quick' access
methods (since they are based on range scan). When ORDER BY optimization overrides 
the decision, however, it expects to have this initialized and hence crashes. 
Fixed in 5.1 (was fixed in 6.0 already) by initializing 'quick' even when there's 
'ref' access.
2009-08-07 13:51:40 +02:00
Mattias Jonsson
89b9fbd451 Bug#46478: timestamp field incorrectly defaulted
when partition is reoganized.

Problem was that table->timestamp_field_type was not changed
before copying rows between partitions.

fixed by setting it to TIMESTAMP_NO_AUTO_SET as the first thing
in fast_alter_partition_table, so that all if-branches is covered.
2009-08-06 14:28:39 +02:00
Satya B
ad951044e0 Fix for BUG#45816 - assertion failure with index containing double
column on partitioned table
      
      
An assertion 'ASSERT_COULUMN_MARKED_FOR_READ' is failed if the query 
is executed with index containing double column on partitioned table.
The problem is that assertion expects all the fields which are read,
to be in the read_set.
      
In this query only the field 'a' is in the readset as the tables in
the query are joined by the field 'a' and so the assertion fails 
expecting other field 'b'.
      
Since the function cmp() is just comparison of two parameters passed, 
the assertion is not required.
      
Fixed by removing the assertion in the double fields comparision
function and also fixed the index initialization to do ordered
index scan with RW LOCK which ensures all the fields from a key are in
the read_set.
 

Note: this bug is not reproducible with other datatypes because the
      assertion doesn't exist in comparision function for other 
      datatypes.
2009-08-06 17:01:26 +05:30
Bjorn Munch
e4b2b97839 Bug #45771 AIX and i5/OS Perl bug: check_socket_path_length in MTR fails
Bug in Perl
Scrap attempt to do this smartly on AIX, just drop the test and assume it's OK
This commit undoes the previous push and adds a line to ignore on AIX
2009-08-06 09:30:53 +02:00
440ddc540b Bug #45630 rpl_trigger.test causes valgrind failures within nptl_pthread_exit_hack_handler
The server shutdown and start code triggered the valgrind failures 
within nptl_pthread_exit_hack_handler on Ubuntu 9.04, x86 (but not amd64) 
in rpl_trigger.test file.

For fixing the bug, suppress valgrind failures within nptl_pthread_exit_hack_handler 
on Ubuntu 9.04, x86 (but not amd64). Because the server shutdown and start
code has been heavily used in mysql test set.
2009-08-06 11:07:09 +08:00
Guilhem Bichot
13a87951e9 InnoDB plugin is built-in: remove test code which depended on the plugin property 2009-08-05 12:07:41 +02:00
Bjorn Munch
c26dd8e87b Bug #45771 AIX and i5/OS Perl bug: check_socket_path_length in MTR fails
Bug is actually in Perl
Fixed by trapping and ignoring error from IO::Socket::UNIX
2009-08-05 09:41:40 +02:00
Guilhem Bichot
c5ab943afe Creation of mysql-trunk = {summit + "Innodb plugin replacing the builtin"}:
bzr branch mysql-5.1-performance-version mysql-trunk # Summit
cd mysql-trunk
bzr merge mysql-5.1-innodb_plugin # which is 5.1 + Innodb plugin 
bzr rm innobase # remove the builtin
Next step: build, test fixes.
2009-08-04 13:25:19 +02:00
Alfranio Correia
0ebf4d7e3a Post-fix for BUG#43264
Install procedure does not copy *.inc files located under the mysql-test/t directory.
Therefore, this patch moves the rpl_trigger.inc to the mysql-test/include directory.
2009-08-03 14:37:50 +01:00
Mikael Ronstrom
55d5bbe7be Auto-merge 2009-08-03 12:14:48 +02:00
Mikael Ronstrom
bfa000ba81 Fixed two test cases for extended partitioning tests 2009-08-03 12:12:36 +02:00
Alfranio Correia
d85438b045 auto-merge mysql-5.0-bugteam (local) --> mysql-5.0-bugteam 2009-08-03 10:43:20 +01:00
Alfranio Correia
407520b607 BUG#43264 Test rpl_trigger is failing randomly w/ use of copy_file in 5.0
The test case fails sporadically on Windows while trying to overwrite an unused
binary log. The problem stems from the fact that MySQL on Windows does not
immediately unlock/release a file while the process that opened and closed it is
still running. In BUG 38603, this issue was circumvented by stopping the MySQL
process, copying the file and then restarting the MySQL process. 

Unfortunately, such facilities are not available in the 5.0.  Other approaches
such as stopping the slave and issuing change master do not work because the relay
log file and index are not closed when a slave is stopped. So to fix the problem,
we simply don't run on windows the part of the test that was failing.
2009-08-02 23:58:43 +01:00
Jim Winstead
87784fd0c7 Merge fix to test results 2009-07-31 16:53:44 -07:00
Jim Winstead
f5c55bc0a8 Fix incorrectly-committed changes to mysql.result 2009-07-31 16:43:46 -07:00
Davi Arnaut
7049106da7 Test case clean up: Move test cases that depend on the CSV storage
engine to the partition_csv test. Also remove test case that was
duplicated. Fix connection procedure with the embedded server.
2009-07-31 20:39:26 -03:00