List:Commits« Previous MessageNext Message »
From:gni Date:October 9 2006 3:03am
Subject:bk commit into 5.1 tree (gni:1.2296) BUG#14612
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of root. When root 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, 2006-10-09 11:01:33+08:00, gni@dev3-127.(none) +2 -0
  BUG #14612 If a restore is done on a slave cluster, yet the apply_status and schema tables don't exist,
             ndb_restore should create the apply_status and schema table.

  storage/ndb/tools/restore/consumer_restore.cpp@stripped, 2006-10-09 11:01:28+08:00, gni@dev3-127.(none) +7 -0
    If the apply_status and schema tables in cluster database have existed, 
    don't create them again and immediately return true.

  storage/ndb/tools/restore/restore_main.cpp@stripped, 2006-10-09 11:01:28+08:00, gni@dev3-127.(none) +9 -1
    if the system table is apply_status or schema and they don't exist, they will be created.

# 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:	gni
# Host:	dev3-127.(none)
# Root:	/mnt/mysql/home/ngb/mysql-5.1/mysql-5.1-bug14612

--- 1.45/storage/ndb/tools/restore/restore_main.cpp	2006-10-09 11:02:41 +08:00
+++ 1.46/storage/ndb/tools/restore/restore_main.cpp	2006-10-09 11:02:41 +08:00
@@ -554,7 +554,15 @@
   debug << "Restoring tables" << endl; 
   for(i = 0; i<metaData.getNoOfTables(); i++)
   {
-    if (checkSysTable(metaData, i))
+    const char *tablename = metaData[i]->getTableName();
+    bool isCheckSysTable = true;
+
+    if( strcmp(tablename, NDB_REP_DB "/def/" NDB_APPLY_TABLE) == 0 ||
+        strcmp(tablename, NDB_REP_DB "/def/" NDB_SCHEMA_TABLE)== 0 ){
+      isCheckSysTable = false;
+    }
+
+    if (!isCheckSysTable || checkSysTable(metaData, i))
     {
       for(Uint32 j= 0; j < g_consumers.size(); j++)
 	if (!g_consumers[j]->table(* metaData[i]))

--- 1.35/storage/ndb/tools/restore/consumer_restore.cpp	2006-10-09 11:02:41 +08:00
+++ 1.36/storage/ndb/tools/restore/consumer_restore.cpp	2006-10-09 11:02:41 +08:00
@@ -693,6 +693,13 @@
   NdbDictionary::Dictionary* dict = m_ndb->getDictionary();
   if(m_restore_meta)
   {
+    if( ( dict->getTable(split[2].c_str()) != NULL ) &&
+           ( strcmp(name, NDB_REP_DB "/def/" NDB_APPLY_TABLE) == 0 ||
+             strcmp(name, NDB_REP_DB "/def/" NDB_SCHEMA_TABLE)== 0 )
+      ){
+      return true;
+    }
+
     NdbDictionary::Table copy(*table.m_dictTable);
 
     copy.setName(split[2].c_str());
Thread
bk commit into 5.1 tree (gni:1.2296) BUG#14612gni9 Oct