MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:tomas Date:April 12 2007 9:07am
Subject:bk commit into 5.0 tree (tomas:1.2446) BUG#27758
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 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-04-12 11:07:30+02:00, tomas@stripped +5 -0
  Bug #27758 Restoring NDB backups makes table usable in SQL nodes
  - parse indexname using "split" instead of sscanf, as not to break at space
  - test case with space in key
  - enclose names in printout

  mysql-test/r/ndb_restore.result@stripped, 2007-04-12 11:07:28+02:00, tomas@stripped +40 -40
    Bug #27758 Restoring NDB backups makes table usable in SQL nodes
    - change to using an index with space to reproduce bug

  mysql-test/t/ndb_restore.test@stripped, 2007-04-12 11:07:28+02:00, tomas@stripped +44 -41
    Bug #27758 Restoring NDB backups makes table usable in SQL nodes
    - change to using an index with space to reproduce bug

  ndb/tools/restore/consumer_restore.cpp@stripped, 2007-04-12 11:07:28+02:00, tomas@stripped +31 -25
    Bug #27758 Restoring NDB backups makes table usable in SQL nodes
    - parse indexname using "split" instead of sscanf, as not to break at space
    - enclose names in printout

  ndb/tools/restore/restore_main.cpp@stripped, 2007-04-12 11:07:28+02:00, tomas@stripped +2 -2
    Bug #27758 Restoring NDB backups makes table usable in SQL nodes
    - enclose names in printout

  sql/ha_ndbcluster.cc@stripped, 2007-04-12 11:07:28+02:00, tomas@stripped +4 -2
    Bug #27758 Restoring NDB backups makes table usable in SQL nodes
    - correct error message

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	tomas
# Host:	whalegate.ndb.mysql.com
# Root:	/home/tomas/mysql-5.0-ndb

--- 1.40/ndb/tools/restore/restore_main.cpp	2007-03-08 18:55:40 +01:00
+++ 1.41/ndb/tools/restore/restore_main.cpp	2007-04-12 11:07:28 +02:00
@@ -559,8 +559,8 @@
       for(Uint32 j= 0; j < g_consumers.size(); j++)
 	if (!g_consumers[j]->table(* table))
 	{
-	  err << "Restore: Failed to restore table: ";
-          err << table->getTableName() << " ... Exiting " << endl;
+	  err << "Restore: Failed to restore table: `";
+          err << table->getTableName() << "` ... Exiting " << endl;
 	  exitHandler(NDBT_FAILED);
         }
     }

--- 1.308/sql/ha_ndbcluster.cc	2007-04-11 15:21:09 +02:00
+++ 1.309/sql/ha_ndbcluster.cc	2007-04-12 11:07:28 +02:00
@@ -1148,14 +1148,16 @@
     {
       DBUG_PRINT("info", ("Get handle to index %s", index_name));
       const NDBINDEX *index= dict->getIndex(index_name, m_tabname);
-      if (!index) DBUG_RETURN(1);
+      if (!index)
+        ERR_RETURN(dict->getNdbError());
       m_index[i].index= (void *) index;
     }
     if (idx_type == UNIQUE_ORDERED_INDEX || idx_type == UNIQUE_INDEX)
     {
       DBUG_PRINT("info", ("Get handle to unique_index %s", unique_index_name));
       const NDBINDEX *index= dict->getIndex(unique_index_name, m_tabname);
-      if (!index) DBUG_RETURN(1);
+      if (!index)
+        ERR_RETURN(dict->getNdbError());
       m_index[i].unique_index= (void *) index;
       error= fix_unique_index_attr_order(m_index[i], index, key_info);
     }

--- 1.27/ndb/tools/restore/consumer_restore.cpp	2006-12-23 20:04:22 +01:00
+++ 1.28/ndb/tools/restore/consumer_restore.cpp	2007-04-12 11:07:28 +02:00
@@ -205,7 +205,7 @@
   BaseString tmp(name);
   Vector<BaseString> split;
   if(tmp.split(split, "/") != 3){
-    err << "Invalid table name format " << name << endl;
+    err << "Invalid table name format `" << name << "`" << endl;
     return false;
   }
 
@@ -230,16 +230,17 @@
 
     if (dict->createTable(copy) == -1) 
     {
-      err << "Create table " << table.getTableName() << " failed: "
+      err << "Create table `" << table.getTableName() << "` failed: "
 	  << dict->getNdbError() << endl;
       return false;
     }
-    info << "Successfully restored table " << table.getTableName()<< endl ;
+    info << "Successfully restored table `"
+         << table.getTableName() << "`" << endl;
   }  
   
   const NdbDictionary::Table* tab = dict->getTable(split[2].c_str());
   if(tab == 0){
-    err << "Unable to find table: " << split[2].c_str() << endl;
+    err << "Unable to find table: `" << split[2].c_str() << "`" << endl;
     return false;
   }
   const NdbDictionary::Table* null = 0;
@@ -257,12 +258,15 @@
   for(size_t i = 0; i<m_indexes.size(); i++){
     NdbTableImpl & indtab = NdbTableImpl::getImpl(* m_indexes[i]);
 
-    BaseString tmp(indtab.m_primaryTable.c_str());
     Vector<BaseString> split;
-    if(tmp.split(split, "/") != 3){
-      err << "Invalid table name format " << indtab.m_primaryTable.c_str()
-	  << endl;
-      return false;
+    {
+      BaseString tmp(indtab.m_primaryTable.c_str());
+      if (tmp.split(split, "/") != 3)
+      {
+        err << "Invalid table name format `" << indtab.m_primaryTable.c_str()
+            << "`" << endl;
+        return false;
+      }
     }
     
     m_ndb->setDatabaseName(split[0].c_str());
@@ -270,39 +274,41 @@
     
     const NdbDictionary::Table * prim = dict->getTable(split[2].c_str());
     if(prim == 0){
-      err << "Unable to find base table \"" << split[2].c_str() 
-	  << "\" for index "
-	  << indtab.getName() << endl;
+      err << "Unable to find base table `" << split[2].c_str() 
+	  << "` for index `"
+	  << indtab.getName() << "`" << endl;
       return false;
     }
     NdbTableImpl& base = NdbTableImpl::getImpl(*prim);
     NdbIndexImpl* idx;
-    int id;
-    char idxName[255], buf[255];
-    if(sscanf(indtab.getName(), "%[^/]/%[^/]/%d/%s",
-	      buf, buf, &id, idxName) != 4){
-      err << "Invalid index name format " << indtab.getName() << endl;
-      return false;
+    Vector<BaseString> split_idx;
+    {
+      BaseString tmp(indtab.getName());
+      if (tmp.split(split_idx, "/") != 4)
+      {
+        err << "Invalid index name format `" << indtab.getName() << "`" << endl;
+        return false;
+      }
     }
     if(NdbDictInterface::create_index_obj_from_table(&idx, &indtab, &base))
     {
-      err << "Failed to create index " << idxName
-	  << " on " << split[2].c_str() << endl;
+      err << "Failed to create index `" << split_idx[3]
+	  << "` on " << split[2].c_str() << endl;
 	return false;
     }
-    idx->setName(idxName);
+    idx->setName(split_idx[3].c_str());
     if(dict->createIndex(* idx) != 0)
     {
       delete idx;
-      err << "Failed to create index " << idxName
-	  << " on " << split[2].c_str() << endl
+      err << "Failed to create index `" << split_idx[3].c_str()
+	  << "` on `" << split[2].c_str() << "`" << endl
 	  << dict->getNdbError() << endl;
 
       return false;
     }
     delete idx;
-    info << "Successfully created index " << idxName
-	 << " on " << split[2].c_str() << endl;
+    info << "Successfully created index `" << split_idx[3].c_str()
+	 << "` on `" << split[2].c_str() << "`" << endl;
   }
   return true;
 }

--- 1.5/mysql-test/r/ndb_restore.result	2006-07-06 18:50:32 +02:00
+++ 1.6/mysql-test/r/ndb_restore.result	2007-04-12 11:07:28 +02:00
@@ -1,14 +1,14 @@
 use test;
 drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10;
 drop table if exists t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c,t10_c;
-CREATE TABLE `t1` (
+CREATE TABLE `t1_c` (
 `capgoaledatta` smallint(5) unsigned NOT NULL auto_increment,
 `goaledatta` char(2) NOT NULL default '',
 `maturegarbagefa` varchar(32) NOT NULL default '',
 PRIMARY KEY  (`capgoaledatta`,`goaledatta`,`maturegarbagefa`)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
-INSERT INTO `t1` VALUES (2,'3','q3plus.qt'),(4,'4','q3plus.qt'),(1,'3','q3.net'),(3,'4','q3.net'),(3,'20','threetrees.qt');
-CREATE TABLE `t2` (
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
+INSERT INTO `t1_c` VALUES (2,'3','q3plus.qt'),(4,'4','q3plus.qt'),(1,'3','q3.net'),(3,'4','q3.net'),(3,'20','threetrees.qt');
+CREATE TABLE `t2_c` (
 `capgotod` smallint(5) unsigned NOT NULL auto_increment,
 `gotod` smallint(5) unsigned NOT NULL default '0',
 `goaledatta` char(2) default NULL,
@@ -16,16 +16,16 @@
 `descrpooppo` varchar(64) default NULL,
 `svcutonsa` varchar(64) NOT NULL default '',
 PRIMARY KEY  (`capgotod`),
-KEY `i_quadaddsvr` (`gotod`)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
-INSERT INTO `t2` VALUES (5,4,'','q3.net','addavp:MK_CASELECTOR=1','postorod rattoaa'),(2,1,'4','','addavp:MK_BRANDTAD=345','REDS Brandtad'),(3,2,'4','q3.net','execorder','fixedRatediPO REDS'),(1,1,'3','','addavp:MK_BRANDTAD=123','TEST Brandtad'),(6,5,'','told.q3.net','addavp:MK_BRANDTAD=123','Brandtad Toldzone'),(4,3,'3','q3.net','addavp:MK_POOLHINT=2','ratedi PO TEST');
-CREATE TABLE `t3` (
+KEY `i quadaddsvr` (`gotod`)
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
+INSERT INTO `t2_c` VALUES (5,4,'','q3.net','addavp:MK_CASELECTOR=1','postorod rattoaa'),(2,1,'4','','addavp:MK_BRANDTAD=345','REDS Brandtad'),(3,2,'4','q3.net','execorder','fixedRatediPO REDS'),(1,1,'3','','addavp:MK_BRANDTAD=123','TEST Brandtad'),(6,5,'','told.q3.net','addavp:MK_BRANDTAD=123','Brandtad Toldzone'),(4,3,'3','q3.net','addavp:MK_POOLHINT=2','ratedi PO TEST');
+CREATE TABLE `t3_c` (
 `CapGoaledatta` smallint(5) unsigned NOT NULL default '0',
 `capgotod` smallint(5) unsigned NOT NULL default '0',
 PRIMARY KEY  (`capgotod`,`CapGoaledatta`)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
-INSERT INTO `t3` VALUES (5,3),(2,4),(5,4),(1,3);
-CREATE TABLE `t4` (
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
+INSERT INTO `t3_c` VALUES (5,3),(2,4),(5,4),(1,3);
+CREATE TABLE `t4_c` (
 `capfa` bigint(20) unsigned NOT NULL auto_increment,
 `realm` varchar(32) NOT NULL default '',
 `authpwchap` varchar(32) default NULL,
@@ -35,23 +35,23 @@
 PRIMARY KEY  (`fa`,`realm`),
 KEY `capfa` (`capfa`),
 KEY `i_quadentity` (`fa`,`realm`)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
-INSERT INTO `t4` VALUES (18,'john.smith','q3.net','dessjohn.smith',0,NULL),(21,'quad_katt_with_brandtad','q3.net','acne',0,NULL),(22,'quad_katt_carattoaa','q3.net','acne',0,NULL),(26,'436462612809','sqasdt.q3.net','N/A',0,'6'),(19,'john','smith.qt','dessjohn',0,NULL),(33,'436643196120','sqasdt.q3.net','N/A',1,'6'),(28,'436642900019','sqasdt.q3.net','N/A',0,'6'),(30,'436462900209','sqasdt.q3.net','N/A',0,'6'),(16,'436640006666','sqasdt.q3.net','',0,NULL),(19,'dette','el-redun.com','dessdette',0,NULL),(12,'quad_kattPP','q3.net','acne',2,NULL),(14,'436640008888','sqasdt.q3.net','',0,NULL),(29,'463624900028','sqasdt.q3.net','N/A',0,'6'),(15,'436640099099','sqasdt.q3.net','',0,NULL),(13,'pap','q3plus.qt','acne',1,NULL),(19,'436642612091','sqasdt.q3.net','N/A',0,'6'),(12,'quad_katt','q3.net','acne',0,NULL),(11,'quad_kattVK','q3.net','acne',1,NULL),(32,'463641969502','sqasdt.q3.net','N/A',1,'6'),(20,'joe','q3.net','joedesswd',0,NULL),(29,'436642900034','sqasdt.q3.net','N/A',0,'6'),
 (25,'contind','armerde.qt','acne',1,NULL);
-CREATE TABLE `t5` (
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
+INSERT INTO `t4_c` VALUES (18,'john.smith','q3.net','dessjohn.smith',0,NULL),(21,'quad_katt_with_brandtad','q3.net','acne',0,NULL),(22,'quad_katt_carattoaa','q3.net','acne',0,NULL),(26,'436462612809','sqasdt.q3.net','N/A',0,'6'),(19,'john','smith.qt','dessjohn',0,NULL),(33,'436643196120','sqasdt.q3.net','N/A',1,'6'),(28,'436642900019','sqasdt.q3.net','N/A',0,'6'),(30,'436462900209','sqasdt.q3.net','N/A',0,'6'),(16,'436640006666','sqasdt.q3.net','',0,NULL),(19,'dette','el-redun.com','dessdette',0,NULL),(12,'quad_kattPP','q3.net','acne',2,NULL),(14,'436640008888','sqasdt.q3.net','',0,NULL),(29,'463624900028','sqasdt.q3.net','N/A',0,'6'),(15,'436640099099','sqasdt.q3.net','',0,NULL),(13,'pap','q3plus.qt','acne',1,NULL),(19,'436642612091','sqasdt.q3.net','N/A',0,'6'),(12,'quad_katt','q3.net','acne',0,NULL),(11,'quad_kattVK','q3.net','acne',1,NULL),(32,'463641969502','sqasdt.q3.net','N/A',1,'6'),(20,'joe','q3.net','joedesswd',0,NULL),(29,'436642900034','sqasdt.q3.net','N/A',0,'6'
 ),(25,'contind','armerde.qt','acne',1,NULL);
+CREATE TABLE `t5_c` (
 `capfa` bigint(20) unsigned NOT NULL default '0',
 `gotod` smallint(5) unsigned NOT NULL default '0',
 `orderutonsa` varchar(64) NOT NULL default '',
 PRIMARY KEY  (`capfa`,`gotod`,`orderutonsa`)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
-INSERT INTO `t5` VALUES (21,2,''),(21,1,''),(22,4,'');
-CREATE TABLE `t6` (
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
+INSERT INTO `t5_c` VALUES (21,2,''),(21,1,''),(22,4,'');
+CREATE TABLE `t6_c` (
 `capfa_parent` bigint(20) unsigned NOT NULL default '0',
 `capfa_child` bigint(20) unsigned NOT NULL default '0',
 `relatta` smallint(5) unsigned NOT NULL default '0',
 PRIMARY KEY  (`capfa_child`,`capfa_parent`,`relatta`)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
-INSERT INTO `t6` VALUES (15,16,0),(19,20,0),(18326932092909551615,30,0),(26,29,0),(18326932092909551615,29,0),(19,18,0),(26,28,0),(12,14,0);
-CREATE TABLE `t7` (
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
+INSERT INTO `t6_c` VALUES (15,16,0),(19,20,0),(18326932092909551615,30,0),(26,29,0),(18326932092909551615,29,0),(19,18,0),(26,28,0),(12,14,0);
+CREATE TABLE `t7_c` (
 `dardpo` char(15) NOT NULL default '',
 `dardtestard` tinyint(3) unsigned NOT NULL default '0',
 `FastFA` char(5) NOT NULL default '',
@@ -60,9 +60,9 @@
 `Fastmag` char(1) NOT NULL default '',
 `Beareratta` char(2) NOT NULL default '',
 PRIMARY KEY  (`dardpo`,`dardtestard`)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
-INSERT INTO `t7` VALUES ('2.6.2.4',24,'CECHP','54545','0','0','5'),('2.2.5.4',26,'CANFA','33223','1','1','4'),('4.3.2.4',28,'ITALD','54222','1','0','5'),('129..0.0.eins',28,'G','99999','1','1','5'),('1.1.1.1',24,'AUTPT','32323','0','1','3');
-CREATE TABLE `t8` (
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
+INSERT INTO `t7_c` VALUES ('2.6.2.4',24,'CECHP','54545','0','0','5'),('2.2.5.4',26,'CANFA','33223','1','1','4'),('4.3.2.4',28,'ITALD','54222','1','0','5'),('129..0.0.eins',28,'G','99999','1','1','5'),('1.1.1.1',24,'AUTPT','32323','0','1','3');
+CREATE TABLE `t8_c` (
 `kattjame` varchar(32) NOT NULL default '',
 `realm` varchar(32) NOT NULL default '',
 `realm_entered` varchar(32) NOT NULL default '',
@@ -88,9 +88,9 @@
 `acctinputoctets` bigint(20) unsigned default NULL,
 PRIMARY KEY  (`kattjame`,`hunderaaarbagefa`,`hassetistart`,`hassetino`),
 KEY `squardporoot` (`squardporoot`)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
-INSERT INTO `t8` VALUES ('4tt45345235','pap','q3plus.qt','q3plus.qt','q3.net','436643196120','436643196929','8956234534568968','5524595699','uxasmt21.net.acne.qt/481889229462692422','','1.1.1.1','2.2.4.6','4','86989','34','x','x','2012-03-12 12:55:34','2012-12-05 11:20:04',3223433,3369,9565),('4545435545','john','q3.net','q3.net','acne.li','436643196120','436643196929','45345234568968','995696699','uxasmt21.net.acne.qt/481889229462692423','','1.1.1.1','2.2.9.8','2','86989','34','x','x','2012-03-12 11:35:03','2012-12-05 08:50:04',8821923,169,3565),('versteckter_q3net_katt','joe','q3.net','elredun.com','q3.net','436643196120','436643196939','91341234568968','695595699','uxasmt21.net.acne.qt/481889229462692421','','1.1.1.1','2.5.2.5','3','86989','34','x','x','2012-03-12 18:35:04','2012-12-05 12:35:04',1923123,9569,6565);
-CREATE TABLE `t9` (
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
+INSERT INTO `t8_c` VALUES ('4tt45345235','pap','q3plus.qt','q3plus.qt','q3.net','436643196120','436643196929','8956234534568968','5524595699','uxasmt21.net.acne.qt/481889229462692422','','1.1.1.1','2.2.4.6','4','86989','34','x','x','2012-03-12 12:55:34','2012-12-05 11:20:04',3223433,3369,9565),('4545435545','john','q3.net','q3.net','acne.li','436643196120','436643196929','45345234568968','995696699','uxasmt21.net.acne.qt/481889229462692423','','1.1.1.1','2.2.9.8','2','86989','34','x','x','2012-03-12 11:35:03','2012-12-05 08:50:04',8821923,169,3565),('versteckter_q3net_katt','joe','q3.net','elredun.com','q3.net','436643196120','436643196939','91341234568968','695595699','uxasmt21.net.acne.qt/481889229462692421','','1.1.1.1','2.5.2.5','3','86989','34','x','x','2012-03-12 18:35:04','2012-12-05 12:35:04',1923123,9569,6565);
+CREATE TABLE `t9_c` (
 `kattjame` varchar(32) NOT NULL default '',
 `kattjame_entered` varchar(32) NOT NULL default '',
 `realm` varchar(32) NOT NULL default '',
@@ -114,20 +114,20 @@
 `actinputocctets` bigint(20) unsigned default NULL,
 `terminateraste` tinyint(3) unsigned default NULL,
 PRIMARY KEY  (`kattjame`,`hunderaaarbagefa`,`hassetistart`,`hassetino`)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
-INSERT INTO `t9` VALUES ('3g4jh8gar2t','joe','q3.net','elredun.com','q3.net','436643316120','436643316939','91341234568968','695595699','1.1.1.1','2.2.6.2','3','86989','34','x','x','2012-03-12 18:35:04','2012-12-05 12:35:04',3123123,9569,6565,1),('4tt45345235','pap','q3plus.qt','q3plus.qt','q3.net','436643316120','436643316939','8956234534568968','5254595969','1.1.1.1','8.6.2.2','4','86989','34','x','x','2012-03-12 12:55:34','2012-12-05 11:20:04',3223433,3369,9565,2),('4545435545','john','q3.net','q3.net','acne.li','436643316120','436643316939','45345234568968','995696699','1.1.1.1','2.9.9.2','2','86998','34','x','x','2012-03-12 11:35:03','2012-12-05 08:50:04',8823123,169,3565,3);
-create table t10 (a int auto_increment key);
-insert into t10 values (1),(2),(3);
-create table t1_c engine=ndbcluster as select * from t1;
-create table t2_c engine=ndbcluster as select * from t2;
-create table t3_c engine=ndbcluster as select * from t3;
-create table t4_c engine=ndbcluster as select * from t4;
-create table t5_c engine=ndbcluster as select * from t5;
-create table t6_c engine=ndbcluster as select * from t6;
-create table t7_c engine=ndbcluster as select * from t7;
-create table t8_c engine=ndbcluster as select * from t8;
-create table t9_c engine=ndbcluster as select * from t9;
-create table t10_c engine=ndbcluster as select * from t10;
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
+INSERT INTO `t9_c` VALUES ('3g4jh8gar2t','joe','q3.net','elredun.com','q3.net','436643316120','436643316939','91341234568968','695595699','1.1.1.1','2.2.6.2','3','86989','34','x','x','2012-03-12 18:35:04','2012-12-05 12:35:04',3123123,9569,6565,1),('4tt45345235','pap','q3plus.qt','q3plus.qt','q3.net','436643316120','436643316939','8956234534568968','5254595969','1.1.1.1','8.6.2.2','4','86989','34','x','x','2012-03-12 12:55:34','2012-12-05 11:20:04',3223433,3369,9565,2),('4545435545','john','q3.net','q3.net','acne.li','436643316120','436643316939','45345234568968','995696699','1.1.1.1','2.9.9.2','2','86998','34','x','x','2012-03-12 11:35:03','2012-12-05 08:50:04',8823123,169,3565,3);
+create table t10_c (a int auto_increment key) ENGINE=ndbcluster;
+insert into t10_c values (1),(2),(3);
+create table t1 engine=myisam as select * from t1_c;
+create table t2 engine=myisam as select * from t2_c;
+create table t3 engine=myisam as select * from t3_c;
+create table t4 engine=myisam as select * from t4_c;
+create table t5 engine=myisam as select * from t5_c;
+create table t6 engine=myisam as select * from t6_c;
+create table t7 engine=myisam as select * from t7_c;
+create table t8 engine=myisam as select * from t8_c;
+create table t9 engine=myisam as select * from t9_c;
+create table t10 engine=myisam as select * from t10_c;
 drop table t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c, t10_c;
 show tables;
 Tables_in_test

--- 1.10/mysql-test/t/ndb_restore.test	2006-07-06 18:50:32 +02:00
+++ 1.11/mysql-test/t/ndb_restore.test	2007-04-12 11:07:28 +02:00
@@ -8,15 +8,18 @@
 drop table if exists t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c,t10_c;
 --enable_warnings
 
-CREATE TABLE `t1` (
+CREATE TABLE `t1_c` (
   `capgoaledatta` smallint(5) unsigned NOT NULL auto_increment,
   `goaledatta` char(2) NOT NULL default '',
   `maturegarbagefa` varchar(32) NOT NULL default '',
   PRIMARY KEY  (`capgoaledatta`,`goaledatta`,`maturegarbagefa`)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
-INSERT INTO `t1` VALUES (2,'3','q3plus.qt'),(4,'4','q3plus.qt'),(1,'3','q3.net'),(3,'4','q3.net'),(3,'20','threetrees.qt');
-
-CREATE TABLE `t2` (
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
+INSERT INTO `t1_c` VALUES (2,'3','q3plus.qt'),(4,'4','q3plus.qt'),(1,'3','q3.net'),(3,'4','q3.net'),(3,'20','threetrees.qt');
+#
+# Bug #27758 Restoring NDB backups makes table usable in SQL nodes
+# - space in key made table unusable after restore
+#
+CREATE TABLE `t2_c` (
   `capgotod` smallint(5) unsigned NOT NULL auto_increment,
   `gotod` smallint(5) unsigned NOT NULL default '0',
   `goaledatta` char(2) default NULL,
@@ -24,18 +27,18 @@
   `descrpooppo` varchar(64) default NULL,
   `svcutonsa` varchar(64) NOT NULL default '',
   PRIMARY KEY  (`capgotod`),
-  KEY `i_quadaddsvr` (`gotod`)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
-INSERT INTO `t2` VALUES (5,4,'','q3.net','addavp:MK_CASELECTOR=1','postorod rattoaa'),(2,1,'4','','addavp:MK_BRANDTAD=345','REDS Brandtad'),(3,2,'4','q3.net','execorder','fixedRatediPO REDS'),(1,1,'3','','addavp:MK_BRANDTAD=123','TEST Brandtad'),(6,5,'','told.q3.net','addavp:MK_BRANDTAD=123','Brandtad Toldzone'),(4,3,'3','q3.net','addavp:MK_POOLHINT=2','ratedi PO TEST');
+  KEY `i quadaddsvr` (`gotod`)
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
+INSERT INTO `t2_c` VALUES (5,4,'','q3.net','addavp:MK_CASELECTOR=1','postorod rattoaa'),(2,1,'4','','addavp:MK_BRANDTAD=345','REDS Brandtad'),(3,2,'4','q3.net','execorder','fixedRatediPO REDS'),(1,1,'3','','addavp:MK_BRANDTAD=123','TEST Brandtad'),(6,5,'','told.q3.net','addavp:MK_BRANDTAD=123','Brandtad Toldzone'),(4,3,'3','q3.net','addavp:MK_POOLHINT=2','ratedi PO TEST');
 
-CREATE TABLE `t3` (
+CREATE TABLE `t3_c` (
   `CapGoaledatta` smallint(5) unsigned NOT NULL default '0',
   `capgotod` smallint(5) unsigned NOT NULL default '0',
   PRIMARY KEY  (`capgotod`,`CapGoaledatta`)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
-INSERT INTO `t3` VALUES (5,3),(2,4),(5,4),(1,3);
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
+INSERT INTO `t3_c` VALUES (5,3),(2,4),(5,4),(1,3);
 
-CREATE TABLE `t4` (
+CREATE TABLE `t4_c` (
   `capfa` bigint(20) unsigned NOT NULL auto_increment,
   `realm` varchar(32) NOT NULL default '',
   `authpwchap` varchar(32) default NULL,
@@ -45,26 +48,26 @@
   PRIMARY KEY  (`fa`,`realm`),
   KEY `capfa` (`capfa`),
   KEY `i_quadentity` (`fa`,`realm`)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
-INSERT INTO `t4` VALUES (18,'john.smith','q3.net','dessjohn.smith',0,NULL),(21,'quad_katt_with_brandtad','q3.net','acne',0,NULL),(22,'quad_katt_carattoaa','q3.net','acne',0,NULL),(26,'436462612809','sqasdt.q3.net','N/A',0,'6'),(19,'john','smith.qt','dessjohn',0,NULL),(33,'436643196120','sqasdt.q3.net','N/A',1,'6'),(28,'436642900019','sqasdt.q3.net','N/A',0,'6'),(30,'436462900209','sqasdt.q3.net','N/A',0,'6'),(16,'436640006666','sqasdt.q3.net','',0,NULL),(19,'dette','el-redun.com','dessdette',0,NULL),(12,'quad_kattPP','q3.net','acne',2,NULL),(14,'436640008888','sqasdt.q3.net','',0,NULL),(29,'463624900028','sqasdt.q3.net','N/A',0,'6'),(15,'436640099099','sqasdt.q3.net','',0,NULL),(13,'pap','q3plus.qt','acne',1,NULL),(19,'436642612091','sqasdt.q3.net','N/A',0,'6'),(12,'quad_katt','q3.net','acne',0,NULL),(11,'quad_kattVK','q3.net','acne',1,NULL),(32,'463641969502','sqasdt.q3.net','N/A',1,'6'),(20,'joe','q3.net','joedesswd',0,NULL),(29,'436642900034','sqasdt.q3.net','N/A',0,'6'),
 (25,'contind','armerde.qt','acne',1,NULL);
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
+INSERT INTO `t4_c` VALUES (18,'john.smith','q3.net','dessjohn.smith',0,NULL),(21,'quad_katt_with_brandtad','q3.net','acne',0,NULL),(22,'quad_katt_carattoaa','q3.net','acne',0,NULL),(26,'436462612809','sqasdt.q3.net','N/A',0,'6'),(19,'john','smith.qt','dessjohn',0,NULL),(33,'436643196120','sqasdt.q3.net','N/A',1,'6'),(28,'436642900019','sqasdt.q3.net','N/A',0,'6'),(30,'436462900209','sqasdt.q3.net','N/A',0,'6'),(16,'436640006666','sqasdt.q3.net','',0,NULL),(19,'dette','el-redun.com','dessdette',0,NULL),(12,'quad_kattPP','q3.net','acne',2,NULL),(14,'436640008888','sqasdt.q3.net','',0,NULL),(29,'463624900028','sqasdt.q3.net','N/A',0,'6'),(15,'436640099099','sqasdt.q3.net','',0,NULL),(13,'pap','q3plus.qt','acne',1,NULL),(19,'436642612091','sqasdt.q3.net','N/A',0,'6'),(12,'quad_katt','q3.net','acne',0,NULL),(11,'quad_kattVK','q3.net','acne',1,NULL),(32,'463641969502','sqasdt.q3.net','N/A',1,'6'),(20,'joe','q3.net','joedesswd',0,NULL),(29,'436642900034','sqasdt.q3.net','N/A',0,'6'
 ),(25,'contind','armerde.qt','acne',1,NULL);
 
-CREATE TABLE `t5` (
+CREATE TABLE `t5_c` (
   `capfa` bigint(20) unsigned NOT NULL default '0',
   `gotod` smallint(5) unsigned NOT NULL default '0',
   `orderutonsa` varchar(64) NOT NULL default '',
   PRIMARY KEY  (`capfa`,`gotod`,`orderutonsa`)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
-INSERT INTO `t5` VALUES (21,2,''),(21,1,''),(22,4,'');
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
+INSERT INTO `t5_c` VALUES (21,2,''),(21,1,''),(22,4,'');
 
-CREATE TABLE `t6` (
+CREATE TABLE `t6_c` (
   `capfa_parent` bigint(20) unsigned NOT NULL default '0',
   `capfa_child` bigint(20) unsigned NOT NULL default '0',
   `relatta` smallint(5) unsigned NOT NULL default '0',
   PRIMARY KEY  (`capfa_child`,`capfa_parent`,`relatta`)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
-INSERT INTO `t6` VALUES (15,16,0),(19,20,0),(18326932092909551615,30,0),(26,29,0),(18326932092909551615,29,0),(19,18,0),(26,28,0),(12,14,0);
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
+INSERT INTO `t6_c` VALUES (15,16,0),(19,20,0),(18326932092909551615,30,0),(26,29,0),(18326932092909551615,29,0),(19,18,0),(26,28,0),(12,14,0);
 
-CREATE TABLE `t7` (
+CREATE TABLE `t7_c` (
   `dardpo` char(15) NOT NULL default '',
   `dardtestard` tinyint(3) unsigned NOT NULL default '0',
   `FastFA` char(5) NOT NULL default '',
@@ -73,10 +76,10 @@
   `Fastmag` char(1) NOT NULL default '',
   `Beareratta` char(2) NOT NULL default '',
   PRIMARY KEY  (`dardpo`,`dardtestard`)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
-INSERT INTO `t7` VALUES ('2.6.2.4',24,'CECHP','54545','0','0','5'),('2.2.5.4',26,'CANFA','33223','1','1','4'),('4.3.2.4',28,'ITALD','54222','1','0','5'),('129..0.0.eins',28,'G','99999','1','1','5'),('1.1.1.1',24,'AUTPT','32323','0','1','3');
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
+INSERT INTO `t7_c` VALUES ('2.6.2.4',24,'CECHP','54545','0','0','5'),('2.2.5.4',26,'CANFA','33223','1','1','4'),('4.3.2.4',28,'ITALD','54222','1','0','5'),('129..0.0.eins',28,'G','99999','1','1','5'),('1.1.1.1',24,'AUTPT','32323','0','1','3');
 
-CREATE TABLE `t8` (
+CREATE TABLE `t8_c` (
   `kattjame` varchar(32) NOT NULL default '',
   `realm` varchar(32) NOT NULL default '',
   `realm_entered` varchar(32) NOT NULL default '',
@@ -102,10 +105,10 @@
   `acctinputoctets` bigint(20) unsigned default NULL,
   PRIMARY KEY  (`kattjame`,`hunderaaarbagefa`,`hassetistart`,`hassetino`),
   KEY `squardporoot` (`squardporoot`)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
-INSERT INTO `t8` VALUES ('4tt45345235','pap','q3plus.qt','q3plus.qt','q3.net','436643196120','436643196929','8956234534568968','5524595699','uxasmt21.net.acne.qt/481889229462692422','','1.1.1.1','2.2.4.6','4','86989','34','x','x','2012-03-12 12:55:34','2012-12-05 11:20:04',3223433,3369,9565),('4545435545','john','q3.net','q3.net','acne.li','436643196120','436643196929','45345234568968','995696699','uxasmt21.net.acne.qt/481889229462692423','','1.1.1.1','2.2.9.8','2','86989','34','x','x','2012-03-12 11:35:03','2012-12-05 08:50:04',8821923,169,3565),('versteckter_q3net_katt','joe','q3.net','elredun.com','q3.net','436643196120','436643196939','91341234568968','695595699','uxasmt21.net.acne.qt/481889229462692421','','1.1.1.1','2.5.2.5','3','86989','34','x','x','2012-03-12 18:35:04','2012-12-05 12:35:04',1923123,9569,6565);
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
+INSERT INTO `t8_c` VALUES ('4tt45345235','pap','q3plus.qt','q3plus.qt','q3.net','436643196120','436643196929','8956234534568968','5524595699','uxasmt21.net.acne.qt/481889229462692422','','1.1.1.1','2.2.4.6','4','86989','34','x','x','2012-03-12 12:55:34','2012-12-05 11:20:04',3223433,3369,9565),('4545435545','john','q3.net','q3.net','acne.li','436643196120','436643196929','45345234568968','995696699','uxasmt21.net.acne.qt/481889229462692423','','1.1.1.1','2.2.9.8','2','86989','34','x','x','2012-03-12 11:35:03','2012-12-05 08:50:04',8821923,169,3565),('versteckter_q3net_katt','joe','q3.net','elredun.com','q3.net','436643196120','436643196939','91341234568968','695595699','uxasmt21.net.acne.qt/481889229462692421','','1.1.1.1','2.5.2.5','3','86989','34','x','x','2012-03-12 18:35:04','2012-12-05 12:35:04',1923123,9569,6565);
 
-CREATE TABLE `t9` (
+CREATE TABLE `t9_c` (
   `kattjame` varchar(32) NOT NULL default '',
   `kattjame_entered` varchar(32) NOT NULL default '',
   `realm` varchar(32) NOT NULL default '',
@@ -129,26 +132,26 @@
   `actinputocctets` bigint(20) unsigned default NULL,
   `terminateraste` tinyint(3) unsigned default NULL,
   PRIMARY KEY  (`kattjame`,`hunderaaarbagefa`,`hassetistart`,`hassetino`)
-) ENGINE=myisam DEFAULT CHARSET=latin1;
-INSERT INTO `t9` VALUES ('3g4jh8gar2t','joe','q3.net','elredun.com','q3.net','436643316120','436643316939','91341234568968','695595699','1.1.1.1','2.2.6.2','3','86989','34','x','x','2012-03-12 18:35:04','2012-12-05 12:35:04',3123123,9569,6565,1),('4tt45345235','pap','q3plus.qt','q3plus.qt','q3.net','436643316120','436643316939','8956234534568968','5254595969','1.1.1.1','8.6.2.2','4','86989','34','x','x','2012-03-12 12:55:34','2012-12-05 11:20:04',3223433,3369,9565,2),('4545435545','john','q3.net','q3.net','acne.li','436643316120','436643316939','45345234568968','995696699','1.1.1.1','2.9.9.2','2','86998','34','x','x','2012-03-12 11:35:03','2012-12-05 08:50:04',8823123,169,3565,3);
+) ENGINE=ndbcluster DEFAULT CHARSET=latin1;
+INSERT INTO `t9_c` VALUES ('3g4jh8gar2t','joe','q3.net','elredun.com','q3.net','436643316120','436643316939','91341234568968','695595699','1.1.1.1','2.2.6.2','3','86989','34','x','x','2012-03-12 18:35:04','2012-12-05 12:35:04',3123123,9569,6565,1),('4tt45345235','pap','q3plus.qt','q3plus.qt','q3.net','436643316120','436643316939','8956234534568968','5254595969','1.1.1.1','8.6.2.2','4','86989','34','x','x','2012-03-12 12:55:34','2012-12-05 11:20:04',3223433,3369,9565,2),('4545435545','john','q3.net','q3.net','acne.li','436643316120','436643316939','45345234568968','995696699','1.1.1.1','2.9.9.2','2','86998','34','x','x','2012-03-12 11:35:03','2012-12-05 08:50:04',8823123,169,3565,3);
 
 # Bug #20820
 # auto inc table not handled correctly when restored from cluster backup
 # - before fix ndb_restore would not set auto inc value correct,
 #   seen by select below
-create table t10 (a int auto_increment key);
-insert into t10 values (1),(2),(3);
+create table t10_c (a int auto_increment key) ENGINE=ndbcluster;
+insert into t10_c values (1),(2),(3);
 
-create table t1_c engine=ndbcluster as select * from t1;
-create table t2_c engine=ndbcluster as select * from t2;
-create table t3_c engine=ndbcluster as select * from t3;
-create table t4_c engine=ndbcluster as select * from t4;
-create table t5_c engine=ndbcluster as select * from t5;
-create table t6_c engine=ndbcluster as select * from t6;
-create table t7_c engine=ndbcluster as select * from t7;
-create table t8_c engine=ndbcluster as select * from t8;
-create table t9_c engine=ndbcluster as select * from t9;
-create table t10_c engine=ndbcluster as select * from t10;
+create table t1 engine=myisam as select * from t1_c;
+create table t2 engine=myisam as select * from t2_c;
+create table t3 engine=myisam as select * from t3_c;
+create table t4 engine=myisam as select * from t4_c;
+create table t5 engine=myisam as select * from t5_c;
+create table t6 engine=myisam as select * from t6_c;
+create table t7 engine=myisam as select * from t7_c;
+create table t8 engine=myisam as select * from t8_c;
+create table t9 engine=myisam as select * from t9_c;
+create table t10 engine=myisam as select * from t10_c;
 
 
 --exec $NDB_MGM --no-defaults -e "start backup" >> $NDB_TOOLS_OUTPUT
Thread
bk commit into 5.0 tree (tomas:1.2446) BUG#27758tomas12 Apr