List:Commits« Previous MessageNext Message »
From:tomas Date:October 9 2007 7:39am
Subject:bk commit into 5.1 tree (tomas:1.2569) BUG#31470
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of tomas. When tomas does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2007-10-09 09:39:39+02:00, tomas@stripped +3 -0
  Bug #31470 ndb table with special characters in name are not discovered correctly

  mysql-test/suite/ndb/r/ndb_multi.result@stripped, 2007-10-09 09:39:36+02:00, tomas@stripped +21 -0
    Bug #31470 ndb table with special characters in name are not discovered correctly

  mysql-test/suite/ndb/t/ndb_multi.test@stripped, 2007-10-09 09:39:36+02:00, tomas@stripped +27 -0
    Bug #31470 ndb table with special characters in name are not discovered correctly

  sql/handler.cc@stripped, 2007-10-09 09:39:36+02:00, tomas@stripped +1 -2
    Bug #31470 ndb table with special characters in name are not discovered correctly

diff -Nrup a/mysql-test/suite/ndb/r/ndb_multi.result b/mysql-test/suite/ndb/r/ndb_multi.result
--- a/mysql-test/suite/ndb/r/ndb_multi.result	2007-06-27 14:27:21 +02:00
+++ b/mysql-test/suite/ndb/r/ndb_multi.result	2007-10-09 09:39:36 +02:00
@@ -121,3 +121,24 @@ show tables;
 Tables_in_db
 t2
 drop database db;
+use test;
+create table `test`.`t1$EX`
+ (server_id int unsigned,
+master_server_id int unsigned,
+master_epoch bigint unsigned,
+count int unsigned,
+primary key(server_id, master_server_id,
+master_epoch, count))
+engine ndb;
+show tables like '%$%';
+Tables_in_test (%$%)
+t1$EX
+use test;
+show tables like '%$%';
+Tables_in_test (%$%)
+t1$EX
+drop table `test`.`t1$EX`;
+show tables like '%$%';
+Tables_in_test (%$%)
+show tables like '%$%';
+Tables_in_test (%$%)
diff -Nrup a/mysql-test/suite/ndb/t/ndb_multi.test b/mysql-test/suite/ndb/t/ndb_multi.test
--- a/mysql-test/suite/ndb/t/ndb_multi.test	2007-08-21 14:19:12 +02:00
+++ b/mysql-test/suite/ndb/t/ndb_multi.test	2007-10-09 09:39:36 +02:00
@@ -122,4 +122,31 @@ connection server2;
 show tables;
 drop database db;
 
+
+#
+# bug#31470, ndb table with special characters in name
+# are not discovered correctly
 connection server1;
+use test;
+create table `test`.`t1$EX`
+ (server_id int unsigned,
+  master_server_id int unsigned,
+  master_epoch bigint unsigned,
+  count int unsigned,
+  primary key(server_id, master_server_id,
+              master_epoch, count))
+  engine ndb;
+
+# check that table shows up ok on both servers
+# before bugfix table would not show up on server2
+show tables like '%$%';
+connection server2;
+use test;
+show tables like '%$%';
+
+# check cleanup
+drop table `test`.`t1$EX`;
+show tables like '%$%';
+
+connection server1;
+show tables like '%$%';
diff -Nrup a/sql/handler.cc b/sql/handler.cc
--- a/sql/handler.cc	2007-08-13 21:39:23 +02:00
+++ b/sql/handler.cc	2007-10-09 09:39:36 +02:00
@@ -2641,8 +2641,7 @@ int ha_create_table_from_engine(THD* thd
     frmblob and frmlen are set, write the frm to disk
   */
 
-  (void)strxnmov(path,FN_REFLEN-1,mysql_data_home,FN_ROOTDIR,
-                 db,FN_ROOTDIR,name,NullS);
+  build_table_filename(path, FN_REFLEN-1, db, name, "", 0);
   // Save the frm file
   error= writefrm(path, frmblob, frmlen);
   my_free(frmblob, MYF(0));
Thread
bk commit into 5.1 tree (tomas:1.2569) BUG#31470tomas9 Oct