List:Commits« Previous MessageNext Message »
From:Jonas Oreland Date:April 8 2009 1:44pm
Subject:bzr commit into mysql-5.1-telco-7.0 branch (jonas:2886) Bug#43632
View as plain text  
#At file:///home/jonas/src/telco-6.4/

 2886 Jonas Oreland	2009-04-08
      ndb - bug#43632 - make DbtupProxy also react to create/drop table in UNDO log
modified:
  storage/ndb/src/kernel/blocks/dbtup/DbtupProxy.cpp

=== modified file 'storage/ndb/src/kernel/blocks/dbtup/DbtupProxy.cpp'
--- a/storage/ndb/src/kernel/blocks/dbtup/DbtupProxy.cpp	2009-03-24 08:42:42 +0000
+++ b/storage/ndb/src/kernel/blocks/dbtup/DbtupProxy.cpp	2009-04-08 13:44:27 +0000
@@ -313,13 +313,37 @@ DbtupProxy::disk_restart_undo(Signal* si
       undo.m_actions |= Proxy_undo::GetInstance;
     }
     break;
+
   case File_formats::Undofile::UNDO_TUP_CREATE:
+  {
+    jam();
+    Dbtup::Disk_undo::Create* rec= (Dbtup::Disk_undo::Create*)ptr;
+    Uint32 tableId = rec->m_table;
+    if (tableId < c_tableRecSize)
+    {
+      jam();
+      c_tableRec[tableId] = 0;
+    }
+    
+    undo.m_actions |= Proxy_undo::SendToAll;
+    undo.m_actions |= Proxy_undo::SendUndoNext;
+    break;
+  }
   case File_formats::Undofile::UNDO_TUP_DROP:
+  {
+    jam();
+    Dbtup::Disk_undo::Drop* rec= (Dbtup::Disk_undo::Drop*)ptr;
+    Uint32 tableId = rec->m_table;
+    if (tableId < c_tableRecSize)
     {
-      undo.m_actions |= Proxy_undo::SendToAll;
-      undo.m_actions |= Proxy_undo::SendUndoNext;
+      jam();
+      c_tableRec[tableId] = 0;
     }
+    
+    undo.m_actions |= Proxy_undo::SendToAll;
+    undo.m_actions |= Proxy_undo::SendUndoNext;
     break;
+  }
 #if NOT_YET_UNDO_ALLOC_EXTENT
   case File_formats::Undofile::UNDO_TUP_ALLOC_EXTENT:
     ndbrequire(false);

Thread
bzr commit into mysql-5.1-telco-7.0 branch (jonas:2886) Bug#43632Jonas Oreland8 Apr