List:Commits« Previous MessageNext Message »
From:Satya B Date:March 17 2009 12:04pm
Subject:bzr commit into mysql-5.0-bugteam branch (satya.bn:2775) Bug#21360
View as plain text  
#At file:///home/satya/WORK/mysql-5.0-bugteam-21360/ based on revid:patrick.crews@stripped

 2775 Satya B	2009-03-17
      Fix for BUG#21360 - mysqldump error on federated tables
            
      When a mysqldump tool is used to dump federated tables,
      an error is thrown saying storage engine for the table
      doesn't have an option.
            
      mysqldump tries to re-insert the data into the federated
      table which causes the error. Since the data is already
      available on the remote server, mysqldump shouldn't try
      to dump the data again for FEDERATED tables.
            
      As stated it the bug page, it can be considered similar
      to the MERGE ENGINE with "view only" nature.
            
      Fixed by adding the "FEDERATED ENGINE" to the exception
      list to ignore the data.
      modified:
        client/mysqldump.c
        mysql-test/r/federated.result
        mysql-test/t/federated.test

per-file messages:
  client/mysqldump.c
    Fixed check_if_ignore_table() to ignore FEDERATED engine
    when dumping the tables.
  mysql-test/r/federated.result
    result file for BUG#21360
  mysql-test/t/federated.test
    testcase for BUG#21360
=== modified file 'client/mysqldump.c'
--- a/client/mysqldump.c	2009-03-10 16:53:43 +0000
+++ b/client/mysqldump.c	2009-03-17 12:04:28 +0000
@@ -3576,7 +3576,9 @@ char check_if_ignore_table(const char *t
       If these two types, we do want to skip dumping the table
     */
     if (!opt_no_data &&
-        (!strcmp(table_type,"MRG_MyISAM") || !strcmp(table_type,"MRG_ISAM")))
+        (!strcmp(table_type,"MRG_MyISAM") || !strcmp(table_type,"MRG_ISAM")) ||
+        (!my_strcasecmp(&my_charset_latin1, table_type, "FEDERATED") ||
+         !strcmp(table_type,"FEDERATED")))
       result= IGNORE_DATA;
   }
   mysql_free_result(res);

=== modified file 'mysql-test/r/federated.result'
--- a/mysql-test/r/federated.result	2008-11-14 07:42:29 +0000
+++ b/mysql-test/r/federated.result	2009-03-17 12:04:28 +0000
@@ -2094,6 +2094,20 @@ SELECT t1.a FROM t1, t1 as t2 WHERE t2.b
 a
 DROP TABLE t1;
 DROP TABLE t1;
+#Switch to Connection Slave
+CREATE TABLE t1(id VARCHAR(20) NOT NULL, PRIMARY KEY(id));
+INSERT INTO  t1 VALUES ('text1'),('text2'),('text3'),('text4');
+#Switch to Connection Master
+CREATE TABLE t1(id VARCHAR(20) NOT NULL, PRIMARY KEY(id)) ENGINE=FEDERATED CONNECTION='mysql://root@stripped:10242/test/t1';
+INSERT INTO t1  VALUES('text5'),('text6'),('text7'),('text8');
+FLUSH TABLE t1;
+#Switch to Connection Slave
+SELECT COUNT(*) FROM t1;
+COUNT(*)
+8
+DROP TABLE t1;
+#Switch to Connection Master
+DROP TABLE t1;
 End of 5.0 tests
 SET @@GLOBAL.CONCURRENT_INSERT= @OLD_MASTER_CONCURRENT_INSERT;
 SET @@GLOBAL.CONCURRENT_INSERT= @OLD_SLAVE_CONCURRENT_INSERT;

=== modified file 'mysql-test/t/federated.test'
--- a/mysql-test/t/federated.test	2008-11-14 07:42:29 +0000
+++ b/mysql-test/t/federated.test	2009-03-17 12:04:28 +0000
@@ -1843,6 +1843,27 @@ DROP TABLE t1;
 connection master;
 DROP TABLE t1;
 
+#
+# BUG#21360 - mysqldump error on federated tables
+#
+connection slave;
+--echo #Switch to Connection Slave
+CREATE TABLE t1(id VARCHAR(20) NOT NULL, PRIMARY KEY(id));
+INSERT INTO  t1 VALUES ('text1'),('text2'),('text3'),('text4');
+connection master;
+--echo #Switch to Connection Master
+eval CREATE TABLE t1(id VARCHAR(20) NOT NULL, PRIMARY KEY(id)) ENGINE=FEDERATED CONNECTION='mysql://root@stripped:$SLAVE_MYPORT/test/t1';
+INSERT INTO t1  VALUES('text5'),('text6'),('text7'),('text8');
+FLUSH TABLE t1;
+--exec $MYSQL_DUMP --databases test > $MYSQLTEST_VARDIR/tmp/mysqldump.sql
+--exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/mysqldump.sql
+connection slave;
+--echo #Switch to Connection Slave
+SELECT COUNT(*) FROM t1;
+DROP TABLE t1;
+connection master;
+--echo #Switch to Connection Master
+DROP TABLE t1;
 connection default;
 
 --echo End of 5.0 tests

Thread
bzr commit into mysql-5.0-bugteam branch (satya.bn:2775) Bug#21360Satya B17 Mar
  • Re: bzr commit into mysql-5.0-bugteam branch (satya.bn:2775) Bug#21360Sergey Vojtovich17 Mar