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#31470 | tomas | 9 Oct |