1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-18 10:22:14 +03:00
Commit Graph

3088 Commits

Author SHA1 Message Date
Mats Kindahl
908937ee92 Merging patch with 5.1-bugteam. 2008-12-08 11:32:24 +01:00
Horst Hunger
3677288f6f Fix for Bug#36878 after review by Matthias: Only one line in the result files of 32 bit and 64 bit platforms differed and made problems on 64 bit machine with 32 bit mysqld. The removal of the separation into 32 bit and 64 bit versions of that test fixes also this problem. 2008-12-05 16:43:13 +01:00
Mats Kindahl
4e9695acca Bug #40116:
Uncommited changes are replicated and stay on slave after
rollback on master

Making test slightly more generic and robust.
2008-12-05 10:23:27 +01:00
Luis Soares
0c9aaecc7f BUG#38826 Race in MYSQL_LOG::purge_logs is impossible to debug in production
BUG#39325 Server crash inside MYSQL_LOG::purge_first_log halts replicaiton

The patch reverses the order of the purging and updating events for log and
relay-log.info/index files respectively.

This solves the problem of having holes caused by crashes happening between updating
info/index files and purging logs.

This patch also contains an aditional test case for testing the crashing before purge logs.
      
NOTE1: This is a combined patch for BUG#38826 and BUG#39325. This patch is based on
bugteam tree and takes into account reviewers suggestions.

NOTE2: Merge from 5.0-bugteam
2008-12-04 14:07:56 +00:00
Mattias Jonsson
2405e47df0 Bug#40515: Query on a partitioned table does not return
'lock wait timeout exceeded'

Problem was a bug in the implementation of scan in partitioning
which masked the error code from the partition's handler.

Fixed by returning the value from the underlying handler.
2008-12-04 10:47:25 +01:00
Patrick Crews
4a3b1575e3 Bug#40177: Test funcs_1.storedproc failing on Pushbuild
Altered param_check to disable warnings on system-sensitive operations
and added some notes / possible TODO
Re-recorded.result file to account for change
2008-12-03 21:44:07 -05:00
Mats Kindahl
82757fdfc0 Bug #40116: Uncommited changes are replicated and stay on slave
after rollback on master

When starting a transaction with a statement containing changes
to both transactional tables and non-transactional tables, the
statement is considered as non-transactional and is therefore
written directly to the binary log. This behaviour was present
in 5.0, and has propagated to 5.1.

If a trigger containing a change of a non-transactional table is
added to a transactional table, any changes to the transactional
table is "tainted" as non-transactional.

This patch solves the problem by removing the existing "hack" that
allows non-transactional statements appearing first in a transaction
to be written directly to the binary log. Instead, anything inside
a transaction is treaded as part of the transaction and not written
to the binary log until the transaction is committed.
2008-12-03 20:55:49 +01:00
Horst Hunger
3562e9e2db (No) fix for Bug#36878: The test has been taken out fo main and put into "sys_vars", but the opportunity to check the test has been take to improve it. 2008-12-03 16:43:53 +01:00
Andrei Elkin
40889f9ea6 Bug #40221 Replication failure on RBR + UPDATE the primary key
A transaction could result in having an extra event after a query that
errored e.g because of a dup key. Such a query is rolled back in
innodb, as specified, but has not been in binlog.
It appeares that the binlog engine did not always register for a query
(statement) because the previous query had not reset at its statement
commit time. Because of that fact there was no roll-back to the
trx_data->before_stmt_pos position and a the pending event of the
errorred query could become flushed to the binlog file.

Fixed with deploying the reset of trx_data->before_stmt_pos at the end
of the query processing.
2008-12-02 19:32:07 +02:00
Horst Hunger
1feb81bf33 Fix for Bug#36876:
The minimum value differs depending on the OS and mysqld build, so that the test fail spradically.
The check of this value has been changed from check of concrete values to the check of a range that is near by the expected value.
2008-12-02 11:05:56 +01:00
Horst Hunger
f1b5eadf5b Fix for Bug#36875: Problem was, that there some warnings has been written containing values,
which were determined by the server depending on the os. The solution is to disable warnings in general.
The check of the values only have been done for Linux and Windows. Now, the check has been changed to the check of
ranges (not more concrete values) being near by the expected (set) values.
2008-12-01 09:32:07 +01:00
He Zhenxing
8c54f0e685 Auto merge 2008-11-28 17:52:53 +08:00
Serge Kozlov
1188021f1d Bug#40708: Sometimes DB mysqltest1 did not removed before
starting test rpl_row_create_table therefore the patch add 
the cleanup operation if DB with such name already exists.
2008-11-27 15:04:48 +03:00
He Zhenxing
560a9d15a1 BUG#40707 rpl_multi_engine fails sporadically in pushbuild
If before running test rpl_mulit_engin, the mysqltest1 database exists
on master but not exists on slave, then the following statement:

  create database if not exists mysqltest1;

would not be logged to binary log, and so the database would not be
created on slave. This would cause the test to fail and reporting 
mysqltest1 database not existed on slave.

This patch fixed this problem by not using a different database for
the whole test, just use the default test database, there is no reason
why a seperate database is used for this test.
2008-11-24 14:57:23 +08:00
Matthias Leich
0d66d04bf4 Fox for Bug#40889 funcs_1: wrong code within triggers_03e_db_level.inc causes warnings 2008-11-21 22:36:29 +01:00
Sven Sandberg
78a3abeced BUG#38350: Many tests don't clean up after themselves on exit.
Problem: Many test cases don't clean up after themselves (fail
to drop tables or fail to reset variables). This implies that:
(1) check-testcase in the new mtr that currently lives in
5.1-rpl failed. (2) it may cause unexpected results in
subsequent tests.
Fix: make all tests clean up.
Also: cleaned away unnecessary output in rpl_packet.result
Also: fixed bug where rpl_log called RESET MASTER with a running
slave. This is not supposed to work.
Also: removed unnecessary code from rpl_stm_EE_err2 and made it
verify that an error occurred.
Also: removed unnecessary code from rpl_ndb_ctype_ucs2_def.
2008-11-13 20:19:00 +01:00
Sergey Glukhov
3fa2673f19 Bug#39955 SELECT on INFORMATION_SCHEMA.GLOBAL_VARIABLES takes too long
VARIABLE_VALUE field is decreased to 1024 symbols.
(affected I_S tables: GLOBAL_VARIABLES, SESSION_VARIABLES,
 GLOBAL_STATUS, SESSION_STATUS).
The only variable which can be longer than 1024 is
init_connect. The variable will be truncated with warning.
Additional fix:
Added where condition filter which speed up queries which
have where condition with expressions which use VARIABLE_NAME
field.
2008-11-13 16:09:11 +04:00
Sergey Glukhov
45deeca2dd Bug#35789 wrong datatypes for collation and charset columns in EVENTS, ROUTINES, TRIGGERS
changed 'charset', 'collation' field length from 64 to MY_CS_NAME_SIZE(32)
in tables:
SCHEMATA, TABLES, COLUMNS, CHARACTER_SETS,
COLLATIONS, COLLATION_CHARACTER_SET_APPLICABILITY
2008-11-13 13:50:20 +04:00
Sergey Glukhov
2322356d67 Bug#36035 I_S.TABLES.UPDATE_TIME not being set on INSERT for Windows
added FLUSH TABLES after INSERT because UPDATE_TIME is updated with delay
on Win.
2008-11-13 12:38:30 +04:00
Andrei Elkin
2618337eb6 merging 5.1 -> 5.1 rpl. 3 of 4 conflicts are resolved similarly to 6.0->6.0-rpl merging.
mysql_upgrade results changed due to the error messesge of mysqlcheck has changed.
2008-11-12 19:51:47 +02:00
Matthias Leich
0d2cbe95f6 Merge 2008-11-07 15:19:27 +01:00
Matthias Leich
ddf21d6f9d Remove files which were created during an upmerge
where it was forgotten to remove them.
2008-11-06 18:51:00 +01:00
Andrei Elkin
c1612bbf0f bug#38230
refining the regression test to avoid explicit innodb engine in create.
2008-11-06 19:10:09 +02:00
Georgi Kodinov
90bc97a583 merged 5.1 main -> 5.1-bugteam 2008-11-06 16:18:25 +02:00
Sven Sandberg
e66ea9eb09 BUG#36625: Please remove the rpl_probe and rpl_parse features from the server
Problem 1: BUG#36625: rpl_redirect doesn't do anything useful. It tests an
obsolete feature that was never fully implemented.
Fix 1: Remove rpl_redirect.
Problem 2: rpl_innodb_bug28430 and rpl_flushlog_loop are disabled despite the
bugs for which they were disabled have been fixed.
Fix 2: Re-enable rpl_innodb_bug28430 and rpl_flushlog_loop.
2008-11-06 11:00:55 +01:00
Mattias Jonsson
d675e7b05e merge and pre push fix for test of bug#37719 2008-11-05 22:26:39 +01:00
Mattias Jonsson
bb727f0328 merge 2008-11-05 21:13:54 +01:00
Sven Sandberg
1a175aab70 BUG#40257: Please remove --loose-skip-innodb from suite/rpl/rpl_1slave_base.cnf
Removed unnecessary server options --rpl-recovery-rank. This is obsolete
and does not affect the test suite in any useful way.
2008-11-04 18:07:14 +01:00
Mattias Jonsson
3a27389b4a merge 2008-11-04 12:33:55 +01:00
Andrei Elkin
5d77ba5017 bug#38230
updating two test results.
2008-11-04 13:03:21 +02:00
Mattias Jonsson
e87883a0e7 merge 2008-11-04 09:47:01 +01:00
Mattias Jonsson
abd09620db Bug#14326: No formatting of partitioning clause in SHOW CREATE TABLE output
The partitioning clause is only a very long single line, which is very
hard to interpret for a human. This patch breaks the partitioning
syntax into one line for the partitioning type, and one line per
partition/subpartition.
2008-11-04 08:43:21 +01:00
Andrei Elkin
cd2a4fdc9d Bug #38230 Differences between master and slave after UPDATE or DELETE with LIMIT with pk
a test on the bug page does not reveal the problem with the latest trees.

Adding the test to the rpl suite in order to monitor regression.
2008-11-03 12:18:37 +02:00
He Zhenxing
309c38c40e Merge BUG#39007 2008-11-03 16:36:38 +08:00
He Zhenxing
ef08c3af3e BUG#39007 rpl_ndb.rpl_ndb_circular_2ch crashed in pushbuild
According to documenation:
http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-replication-issues.html

When setting up circular replication for clusters with different
SQL nodes in each cluster used as replication master and slave,
SQL nodes must not start with --log-slave-updates option. 

This patch fixed the test case by remove log-slave-updates 
configuration from test case configuration file.
2008-10-31 22:11:44 +08:00
Mats Kindahl
17d7d227fe Merging with 5.1-rpl 2008-10-29 19:38:28 +01:00
Mats Kindahl
450cc26b47 Post-merge fixes to fix test cases. 2008-10-29 18:38:18 +01:00
Sven Sandberg
2dca77e466 BUG#40257: Please remove --loose-skip-innodb from suite/rpl/rpl_1slave_base.cnf
Removed the flag that disables innodb on slave in the default
configuration of replication tests. That made the explicit
--innodb flag in -slave.opt files redundant, so lots of -slave.opt
files could be removed. Also, -master.opt files containing reduntant
--innodb flag were removed (those were redundant even without
changing the default). Removing .opt files is good because .opt
files cause server restarts and make tests less readable.
Also fixed a bug where rpl_innodb_mixed_ddl unintentionally
used myisam on slave.
2008-10-29 14:25:03 +01:00
Mats Kindahl
533cf7950e Manual merge of 5.1 into 5.1-rpl 2008-10-24 14:51:06 +02:00
Mattias Jonsson
5e353415f8 Bug#40176: update as first partitioning statement
breaks auto increment

The auto_increment value was not initialized if
the first statement after opening a table was
an 'UPDATE'.

solution was to check initialize if it was not,
before trying to increase it in update.
2008-10-23 22:14:07 +02:00
Mats Kindahl
1f29c52581 Merging 5.1 main into 5.1-rpl 2008-10-23 21:27:09 +02:00
Mats Kindahl
95833a74d0 Bug #40004 Replication failure with no PK + no indexes
In certain situations, a scan of the table will return the error
code HA_ERR_RECORD_DELETED, and this error code is not 
correctly caught in the Rows_log_event::find_row() function, which
causes an error to be returned for this case.

This patch fixes the problem by adding code to either ignore the
record and continuing with the next one, the the event of a table
scan, or change the error code to HA_ERR_KEY_NOT_FOUND, in the event
that a key lookup is attempted.
2008-10-20 20:50:08 +02:00
Serge Kozlov
7f3582ff85 Bug#39593. Removed test case rpl_row_stop_middle with result file 2008-10-16 22:40:15 +04:00
Sven Sandberg
90de05d0e6 BUG#39853: lowercase_table3 fails on powermacg5 in rpl tree
Problem: during a refactoring of mtr, a pattern for suppressing a warning from lowercase_table3 was lost.
Fix: re-introduce the suppression.
Problem 2: suppression was misspelt as supression. Fixed by adding a p.
2008-10-13 20:33:08 +02:00
Georgi Kodinov
9031c8c1d8 merged 5.1-main -> 5.1-bugteam 2008-10-13 13:22:36 +03:00
Magnus Svensson
2d7c2274c2 Add missing DROP TABLE t1 to reslt file 2008-10-11 17:35:10 +02:00
Sergey Glukhov
d935c67bba Bug#29153 SHOW and INFORMATION_SCHEMA commands increment Created_tmp_disk_tables
TRIGGERS.SQL_MODE, EVENTS.SQL_MODE, TRIGGERS.DEFINER:
field type is changed to VARCHAR.
2008-10-09 17:09:30 +05:00
Georgi Kodinov
8c6ffe3630 merge 5.1-bugteam -> bug 32124 5.1 tree 2008-10-08 15:19:55 +03:00
Mats Kindahl
d40b2cb7af Merging with 5.1-5.1.29-rc 2008-10-08 13:37:13 +02:00
Georgi Kodinov
489ad44ab5 Bug #32124: crash if prepared statements refer to variables in the where clause
The code to get read the value of a system variable was extracting its value 
on PREPARE stage and was substituting the value (as a constant) into the parse tree.
Note that this must be a reversible transformation, i.e. it must be reversed before
each re-execution.
Unfortunately this cannot be reliably done using the current code, because there are
other non-reversible source tree transformations that can interfere with this
reversible transformation.
Fixed by not resolving the value at PREPARE, but at EXECUTE (as the rest of the 
functions operate). Added a cache of the value (so that it's constant throughout
the execution of the query). Note that the cache also caches NULL values.
Updated an obsolete related test suite (variables-big) and the code to test the 
result type of system variables (as per bug 74).
2008-10-08 14:23:53 +03:00