mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
BUG#20574550 MAIN.MERGE TEST CASE FAILS IF BINLOG_FORMAT=ROW
The main.merge test case was failing when tested using row based binlog format. While analyzing the issue it was found the following issues: a) The server is calling binlog related code even when a statement will not be binlogged; b) The child table list was not present into table structure by the time to generate the create table statement; c) The tables in the child table list will not be opened yet when generating table create info using row based replication; d) CREATE TABLE LIKE TEMP_TABLE does not preserve original table storage engine when using row based replication; This patch addressed all above issues. @ sql/sql_class.h Added a function to determine if the binary log is disabled to the current session. This is related with issue (a) above. @ sql/sql_table.cc Added code to skip binary logging related code if the statement will not be binlogged. This is related with issue (a) above. Added code to add the children to the query list of the table that will have its CREATE TABLE generated. This is related with issue (b) above. Added code to force the storage engine to be generated into the CREATE TABLE. This is related with issue (d) above. @ storage/myisammrg/ha_myisammrg.cc Added a test to skip a table getting info about a child table if the child table is not opened. This is related to issue (c) above.
This commit is contained in:
@@ -20,8 +20,10 @@ CREATE TABLE t1 (a int) ENGINE=MyISAM;
|
||||
CREATE TABLE t2 (a int) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1), (2), (3);
|
||||
INSERT INTO t2 VALUES (4), (5), (6);
|
||||
CREATE TABLE IF NOT EXISTS t1_merge LIKE t1;
|
||||
ALTER TABLE t1_merge ENGINE=MERGE UNION (t2, t1);
|
||||
# Changed a little to check also an issue reported on BUG#20574550
|
||||
CREATE TEMPORARY TABLE IF NOT EXISTS tt1_merge LIKE t1;
|
||||
ALTER TABLE tt1_merge ENGINE=MERGE UNION (t2, t1);
|
||||
CREATE TABLE t1_merge LIKE tt1_merge;
|
||||
|
||||
--sync_slave_with_master
|
||||
|
||||
|
Reference in New Issue
Block a user