From a7830ed93ceab0bd919b5a48e44dfdf5ec4cd11b Mon Sep 17 00:00:00 2001 From: "joreland@mysql.com" <> Date: Thu, 21 Jul 2005 11:13:07 +0200 Subject: bug#11942 - ndb - backup during DDL fix bug introduced in alter table --- ndb/src/kernel/blocks/dbdict/Dbdict.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'ndb') diff --git a/ndb/src/kernel/blocks/dbdict/Dbdict.cpp b/ndb/src/kernel/blocks/dbdict/Dbdict.cpp index 618bea377a2..a3ea195786e 100644 --- a/ndb/src/kernel/blocks/dbdict/Dbdict.cpp +++ b/ndb/src/kernel/blocks/dbdict/Dbdict.cpp @@ -2918,6 +2918,7 @@ Dbdict::execALTER_TABLE_REQ(Signal* signal) alterTabPtr.p->m_coordinatorRef = reference(); alterTabPtr.p->m_fragmentsPtrI = RNIL; alterTabPtr.p->m_dihAddFragPtr = RNIL; + alterTabPtr.p->m_alterTableId = tablePtr.p->tableId; // Send prepare request to all alive nodes SimplePropertiesSectionWriter w(getSectionSegmentPool()); @@ -2951,7 +2952,7 @@ Dbdict::alterTable_backup_mutex_locked(Signal* signal, ndbrequire(c_opCreateTable.find(alterTabPtr, callbackData)); TableRecordPtr tablePtr; - c_tableRecordPool.getPtr(tablePtr, alterTabPtr.p->m_tablePtrI, true); + c_tableRecordPool.getPtr(tablePtr, alterTabPtr.p->m_alterTableId, true); Mutex mutex(signal, c_mutexMgr, alterTabPtr.p->m_startLcpMutex); mutex.unlock(); // ignore response @@ -2969,6 +2970,10 @@ Dbdict::alterTable_backup_mutex_locked(Signal* signal, req->senderData = alterTabPtr.p->m_senderData; req->senderRef = alterTabPtr.p->m_senderRef; alterTableRef(signal, req, AlterTableRef::BackupInProgress); + + c_tableRecordPool.getPtr(tablePtr, alterTabPtr.p->m_tablePtrI); + releaseTableObject(tablePtr.i, false); + c_opCreateTable.release(alterTabPtr); c_blockState = BS_IDLE; return; -- cgit v1.2.1