#At file:///home/marty/MySQL/mysql-5.1-telco-7.1/
3150 Martin Skold 2009-11-11 [merge]
Merge
modified:
mysql-test/suite/ndb/r/ndb_multi.result
mysql-test/suite/ndb/t/ndb_multi.test
sql/sql_db.cc
storage/ndb/src/kernel/vm/SimulatedBlock.cpp
=== modified file 'mysql-test/suite/ndb/r/ndb_multi.result'
--- a/mysql-test/suite/ndb/r/ndb_multi.result 2009-09-17 13:53:38 +0000
+++ b/mysql-test/suite/ndb/r/ndb_multi.result 2009-11-10 14:07:30 +0000
@@ -122,6 +122,16 @@ show tables;
Tables_in_db
t2
drop database db;
+create database db;
+use db;
+create table t1(x int) engine=ndb;
+use db;
+show tables;
+Tables_in_db
+t1
+drop database db;
+use db;
+ERROR 42000: Unknown database 'db'
use test;
create table `test`.`t1$EX`
(server_id int unsigned,
=== modified file 'mysql-test/suite/ndb/t/ndb_multi.test'
--- a/mysql-test/suite/ndb/t/ndb_multi.test 2009-09-21 13:53:09 +0000
+++ b/mysql-test/suite/ndb/t/ndb_multi.test 2009-11-10 14:07:30 +0000
@@ -125,6 +125,22 @@ connection server2;
show tables;
drop database db;
+# Bug#44529 Cannot drop database with stale temporary tables
+connection server1;
+create database db;
+use db;
+create table t1(x int) engine=ndb;
+connection server2;
+--let $MYSQLD_DATADIR= `SELECT @@datadir`
+use db;
+show tables;
+--write_file $MYSQLD_DATADIR/db/#sql-1c17_25d0.ndb
+EOF
+connection server1;
+drop database db;
+connection server2;
+--error ER_BAD_DB_ERROR
+use db;
#
# bug#31470, ndb table with special characters in name
=== modified file 'sql/sql_db.cc'
--- a/sql/sql_db.cc 2009-09-30 18:51:17 +0000
+++ b/sql/sql_db.cc 2009-11-10 14:07:30 +0000
@@ -32,7 +32,7 @@
#define MAX_DROP_TABLE_Q_LEN 1024
-const char *del_exts[]= {".frm", ".BAK", ".TMD",".opt", NullS};
+const char *del_exts[]= {".frm", ".BAK", ".TMD", ".opt", ".ndb", NullS};
static TYPELIB deletable_extentions=
{array_elements(del_exts)-1,"del_exts", del_exts, NULL};
=== modified file 'storage/ndb/src/kernel/vm/SimulatedBlock.cpp'
--- a/storage/ndb/src/kernel/vm/SimulatedBlock.cpp 2009-11-09 12:23:11 +0000
+++ b/storage/ndb/src/kernel/vm/SimulatedBlock.cpp 2009-11-11 14:49:10 +0000
@@ -292,7 +292,7 @@ SimulatedBlock::signal_error(Uint32 gsn,
extern class SectionSegmentPool g_sectionSegmentPool;
-#define check_sections(signal, cnt, cnt2) do { if (unlikely(cnt)) { handle_invalid_sections_in_send_signal(signal); } else if (unlikely(cnt2 == 0 && signal->header.m_fragmentInfo != 0)) { handle_invalid_fragmentInfo(signal); } } while(0)
+#define check_sections(signal, cnt, cnt2) do { if (unlikely(cnt)) { handle_invalid_sections_in_send_signal(signal); } else if (unlikely(cnt2 == 0 && (signal->header.m_fragmentInfo != 0 && signal->header.m_fragmentInfo != 3))) { handle_invalid_fragmentInfo(signal); } } while(0)
void
SimulatedBlock::handle_invalid_sections_in_send_signal(Signal* signal) const
| Thread |
|---|
| • bzr commit into mysql-5.1-telco-7.1 branch (Martin.Skold:3150) Bug#44529 | Martin Skold | 11 Nov |