Commit graph

838 commits

Author SHA1 Message Date
Mats Kindahl
d40b2cb7af Merging with 5.1-5.1.29-rc 2008-10-08 13:37:13 +02:00
Mats Kindahl
70b18065d0 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-10-08 11:15:00 +02:00
Georgi Kodinov
3c13410756 fixed test suite failures in 5.1-bugteam 2008-10-07 19:54:12 +03:00
Georgi Kodinov
349fbbbcae merged 5.0-bugteam -> 5.1-bugteam 2008-10-07 18:32:58 +03:00
Georgi Kodinov
b437a0863b merged 5.1-5.1.29-rc -> 5.1-bugteam 2008-10-07 18:19:32 +03:00
Ramil Kalimullin
80505cc9fd Fix for bug#38269: pushbuild gives valgrind error in
ha_statistic_increment for rpl_temporary

Problem: in some cases master send a special event to reconnecting
slave to keep slave's temporary tables (see #17284) and they still 
have references to the "old" SQL slave thread and use them to access
thread's data.

Fix: set temporary tables thread references to the actual SQL slave
thread in such cases.
2008-10-07 18:21:17 +05:00
Tatiana A. Nurnberg
1ad9d23584 WL#4403 deprecate @log and @slow_log_queries variables
Adds --general-log-file, --slow-query-log-file command-
line options to match system variables of the same names.

Deprecates --log, --log-slow-queries command-line option
and log, log_slow_queries system-variables for v7.0; they
are superseded by general_log/general_log_file and
slow_query_log/slow_query_log_file, respectively.
2008-10-06 16:22:07 +02:00
Matthias Leich
85d5121a08 Merge of fixes for Bug#36874,#38427,#37744,#38762
with actual tree
2008-10-04 18:00:09 +02:00
Mats Kindahl
e29acd99b8 Merging with 5.1-5.1.29-rc. 2008-10-03 13:03:17 +02:00
Mats Kindahl
d19bdf3b30 The test rpl_blackhole was executed even when
there were no blackhole installed. This patch
adds a check for that.
2008-10-03 12:52:01 +02:00
Georgi Kodinov
1d15cb560a Bug #38370: The test ndb.ndb_index_ordered fails with the community features on
The problem was caused by a wrong merge. Fixed by enabling the correct ndb variables
initialization.
2008-10-03 13:10:09 +03:00
Andrei Elkin
6a1cf73a58 Bug #28786 binlog_killed.test fails: 'reset master' does not reset binlogging
The test failed originally -- did not reset binlogging - for the reason
identified by bug@15580.
However it never can be run on the embedded platfrom for yet another cause -
the embedded can not KILL query.
      
Comments added to the test particularly relating `reset master'
to the mentioned bug.
2008-10-03 10:53:33 +03:00
Mats Kindahl
66a3dbceff Merging with 5.1-5.1.29-rc. 2008-10-03 09:36:22 +02:00
Mats Kindahl
3337923cfd Bug #38360: BLACKHOLE replication with RBR is broken
Incremental patch to add comments to test cases.
2008-10-02 21:13:15 +02:00
Matthias Leich
d6c02b2216 Merge 5.0 -> 5.1 of fix for Bug#38427
"Data too long" in some configurations, tests "<ENGINE>_func_view" fail
2008-10-02 14:12:08 +02:00
Matthias Leich
e1ea011cee Fix for Bug#38427 "Data too long" in some configurations,
tests "<ENGINE>_func_view" fail
2008-10-02 13:47:16 +02:00
Mats Kindahl
43fb8633b0 Bug #38360: BLACKHOLE replication with RBR is broken
The Blackhole engine did not support row-based replication
since the delete_row(), update_row(), and the index and range
searching functions were not implemented.

This patch adds row-based replication support for the
Blackhole engine by implementing the two functions mentioned
above, and making the engine pretend that it has found the
correct row to delete or update when executed from the slave
SQL thread by implementing index and range searching functions.

It is necessary to only pretend this for the SQL thread, since
a SELECT executed on the Blackhole engine will otherwise never
return EOF, causing a livelock.
2008-10-02 11:02:38 +02:00
Ramil Kalimullin
0be194e5c3 Merge 2008-10-02 10:56:07 +05:00
Matthias Leich
766803d517 Fix for Bug#37744 Expected result of "<engine>_storedproc" test
is inconsistent
+ several improvements
Details:
- The subtest with assignment of floating point numbers to
  DECIMAL parameters in functions and procedures checks
  now that the final DECIMAL value is the same as if we assign
  the floating point numbers to columns, user variables etc.
  = The impact of math libs or truncation must be the same.
- Remove storage engine variants of this test because the
  stored procedure properties tested do not depend on
  the storage engine.
  Use the fastest storage engine (MEMORY) for any tables
  needed.
- reset global sort_buffer_size to startup value
- Partially improved formatting.
2008-10-01 19:50:08 +02:00
Georgi Kodinov
74f2babadf merged 5.1-5.1.29 -> 5.1-bugteam 2008-10-01 17:48:38 +03:00
Sven Sandberg
1901da7f51 BUG#38269: pushbuild gives valgrind error in ha_statistic_increment for rpl_temporary
Re-enabling failing test case because server logs were lost in pushbuild, so we need to run it again.
2008-10-01 16:02:04 +02:00
Mattias Jonsson
c51023d90b merge 2008-10-01 12:14:55 +02:00
Georgi Kodinov
435f54fce0 merged 5.1-5.1.29-rc -> 5.1-bugteam 2008-10-01 12:47:25 +03:00
Patrick Crews
99abc81c5f Merge 5.0 -> 5.1 2008-09-30 15:32:35 -04:00
Davi Arnaut
35ffaf10e3 Bug#34306: Can't make copy of log tables when server binary log is enabled
The problem is that when statement-based replication was enabled,
statements such as INSERT INTO .. SELECT FROM .. and CREATE TABLE
.. SELECT FROM need to grab a read lock on the source table that
does not permit concurrent inserts, which would in turn be denied
if the source table is a log table because log tables can't be
locked exclusively.

The solution is to not take such a lock when the source table is
a log table as it is unsafe to replicate log tables under statement
based replication. Furthermore, the read lock that does not permits
concurrent inserts is now only taken if statement-based replication
is enabled and if the source table is not a log table.
2008-09-29 10:53:40 -03:00
Mattias Jonsson
9d7aac9cef merge 2008-09-23 12:24:30 +03:00
Patrick Crews
92a3b67393 Bug#37312 Make tests binlog_row_innodb_stat and binlog_stm_innodb_stat more robust
Trimmed some error-prone and variable portions of the test and added 'flush status' to ensure deterministic test
2008-09-22 15:15:52 -04:00
Mattias Jonsson
fbd8f03dc2 Bug#37803: Test "partition_alter2_innodb" exhausts resources (time and/or memory)
It is a very big test and as such it takes a lot of time.

Solution is to divide the test in two parts, one for testing increasing
column size and one for decreasing size.

The innodb branch does extended tests (that myisam is not) due to the
$do_pk_tests variabel, that is the reason why the innodb branch takes
longer.

No increase of memory usage in innodb was found when analyzing, (tested
with looping some millions time of create/drop and alter commands)

The memory exhaust discovered in the test is due to mysqltest which
stores the result in memory (result-file) and this was the biggest
result file in the test framework, so by dividing the test into two
parts also cuts the memory usage of mysqltest.
2008-09-18 12:02:48 +03:00
Chad MILLER
edf10751ef Merge Bug#37312. 2008-09-18 03:57:59 -04:00
Patrick Crews
03b16815a7 Bug#39803 Test rpl.rpl_truncate_7ndb_2 failing
Fixed bad path in .test file
Moved test to suite/rpl_ndb (per Cluster QA)
Re-recorded .result file to updated expected results.
2008-09-15 15:13:43 -04:00
Martin Skold
9e5b67c525 bug #31231 mysql_alter_table() tries to drop a non-existing table
bug#31233 mysql_alter_table() fails to drop UNIQUE KEY
2008-09-15 11:19:56 +02:00
Georgi Kodinov
7f1734eb22 merged 5.1.29-rc into 5.1-bugteam 2008-09-10 12:44:21 +03:00
Mats Kindahl
69a8281c41 Bug #39106:
SUPER is not required to change binlog format for session

A user without SUPER privileges can change the value of the
session variable BINLOG_FORMAT, causing problems for a DBA.

This changeset requires a user to have SUPER privileges to
change the value of the session variable BINLOG_FORMAT, and
not only the global variable BINLOG_FORMAT.
2008-09-09 12:19:31 +02:00
Chad MILLER
60cca234e2 Bug#37312: Make test binlog_{row,stm}_innodb_stat more robust
The size of the Innodb_buffer_pool_pages differs by one byte on row versus statement
log, so neuter the last position of the stringified decimal representation.  Innobase
says the size isn't very important in any case.

Also, split out the "mixed" format to its own file, as mtr seems to dislike having only 
stm and row but not mix.
2008-09-08 16:23:55 -04:00
Mattias Jonsson
5b164964e2 Bug#38804: Query deadlock causes all tables to be inaccessible.
Problem was a mutex added in bug n 27405 for solving a problem
with auto_increment in partitioned innodb tables.
(in ha_partition::write_row over partitions file->ha_write_row)

Solution is to use the patch for bug#33479, which refines the
usage of mutexes for auto_increment.

Backport of bug-33479 from 6.0:

Bug-33479: auto_increment failures in partitioning

Several problems with auto_increment in partitioning
(with MyISAM, InnoDB. Locking issues, not handling
multi-row INSERTs properly etc.)

Changed the auto_increment handling for partitioning:
Added a ha_data variable in table_share for storage engine specific data
such as auto_increment value handling in partitioning, also see WL 4305
and using the ha_data->mutex to lock around read + update.

The idea is this:
Store the table's reserved auto_increment value in
the TABLE_SHARE and use a mutex to, lock it for reading and updating it
and unlocking it, in one block. Only accessing all partitions
when it is not initialized.
Also allow reservations of ranges, and if no one has done a reservation
afterwards, lower the reservation to what was actually used after
the statement is done (via release_auto_increment from WL 3146).
The lock is kept from the first reservation if it is statement based
replication and a multi-row INSERT statement where the number of
candidate rows to insert is not known in advance (like INSERT SELECT,
LOAD DATA, unlike INSERT VALUES (row1), (row2),,(rowN)).

This should also lead to better concurrancy (no need to have a mutex
protection around write_row in all cases)
and work with any local storage engine.
2008-09-08 15:30:01 +02:00
Mats Kindahl
565c4d2bb2 BUG#32709: Assertion failed: trx_data->empty(), file log.cc
Incremental fixes: updating a comment and fixing a result file.
2008-09-03 22:52:54 +02:00
Mats Kindahl
9755f07279 Bug #32709: Assertion failed: trx_data->empty(), file log.cc
The assertion indicates that some data was left in the transaction
cache when the server was shut down, which means that a previous
statement did not commit or rollback correctly.

What happened was that a bug in the rollback of a transactional
table caused the transaction cache to be emptied, but not reset.
The error can be triggered by having a failing UPDATE or INSERT,
on a transactional table, causing an implicit rollback.

Fixed by always flushing the pending event to reset the state
properly.
2008-09-03 22:04:07 +02:00
Mats Kindahl
620a5faaf2 Updating result files for rpl_ndb test suite. 2008-09-03 12:27:01 +02:00
Andrei Elkin
21a08eabad Bug#36099 replicate-do-db affects replaying RBR events with mysqlbinlog
The replication filtering rules were inappropiately applied when
executing BINLOG pseudo-query.  The rules are supposed to be active
only at times when the slave's sql thread executes an event.
            
Fixed with correcting a condition to call replication rules only if
the slave sql thread executes the event.
2008-09-03 13:01:18 +03:00
Mats Kindahl
76cf340947 Post-merge fixes to update result files. 2008-09-01 11:27:41 +02:00
Mats Kindahl
bcec321d68 Merging 5.0-bugteam into 5.1-bugteam 2008-09-01 11:00:52 +02:00
Matthias Leich
353cc4d048 Merge into local tree 2008-08-28 13:39:53 +02:00
Mats Kindahl
42339e0fc9 Merging 5.1 into 5.1-rpl-merge 2008-08-27 20:52:44 +02:00
Mats Kindahl
4c30c09105 Automerge 2008-08-27 16:21:10 +02:00
Mats Kindahl
dd34cceb4c Result file change. 2008-08-27 16:17:55 +02:00
Mats Kindahl
3b6195a78c Automerge 2008-08-27 11:05:04 +02:00
Mats Kindahl
f1b8441e02 Merge b38773-5.1-rpl-merge into 5.1-rpl-merge 2008-08-27 11:02:37 +02:00
Mats Kindahl
6461089817 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-27 10:40:11 +02:00
He Zhenxing
90b072cbde Fix cherry picking patch of BUG#37051 2008-08-26 20:11:56 +08:00
He Zhenxing
78e1f5d523 Cherry picking patch for BUG#37051 2008-08-26 18:01:49 +08:00