diff options
author | joreland@mysql.com <> | 2005-07-21 11:13:07 +0200 |
---|---|---|
committer | joreland@mysql.com <> | 2005-07-21 11:13:07 +0200 |
commit | a7830ed93ceab0bd919b5a48e44dfdf5ec4cd11b (patch) | |
tree | f7f77f17772376babb6f4879042f5855fb90ba2f /ndb | |
parent | bb73ba09022e558660d8504d3a561cd98de3abfe (diff) | |
download | mariadb-git-a7830ed93ceab0bd919b5a48e44dfdf5ec4cd11b.tar.gz |
bug#11942 - ndb - backup during DDL
fix bug introduced in alter table
Diffstat (limited to 'ndb')
-rw-r--r-- | ndb/src/kernel/blocks/dbdict/Dbdict.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
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; |