summaryrefslogtreecommitdiff
path: root/ndb
diff options
context:
space:
mode:
authorjoreland@mysql.com <>2005-07-21 11:13:07 +0200
committerjoreland@mysql.com <>2005-07-21 11:13:07 +0200
commita7830ed93ceab0bd919b5a48e44dfdf5ec4cd11b (patch)
treef7f77f17772376babb6f4879042f5855fb90ba2f /ndb
parentbb73ba09022e558660d8504d3a561cd98de3abfe (diff)
downloadmariadb-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.cpp7
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;