Commit cd58d391 authored by unknown's avatar unknown

ndb - bug#19275

  make sure tablename is release in case of alter table


storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
  make sure tablename is release in case of alter table
parent 235a290c
...@@ -4695,11 +4695,6 @@ Dbdict::alterTab_writeTableConf(Signal* signal, ...@@ -4695,11 +4695,6 @@ Dbdict::alterTab_writeTableConf(Signal* signal,
SegmentedSectionPtr tabInfoPtr; SegmentedSectionPtr tabInfoPtr;
getSection(tabInfoPtr, alterTabPtr.p->m_tabInfoPtrI); getSection(tabInfoPtr, alterTabPtr.p->m_tabInfoPtrI);
signal->setSection(tabInfoPtr, AlterTabReq::DICT_TAB_INFO); signal->setSection(tabInfoPtr, AlterTabReq::DICT_TAB_INFO);
#ifndef DBUG_OFF
ndbout_c("DICT_TAB_INFO in DICT");
SimplePropertiesSectionReader reader(tabInfoPtr, getSectionSegmentPool());
reader.printAll(ndbout);
#endif
EXECUTE_DIRECT(SUMA, GSN_ALTER_TAB_REQ, signal, EXECUTE_DIRECT(SUMA, GSN_ALTER_TAB_REQ, signal,
AlterTabReq::SignalLength); AlterTabReq::SignalLength);
releaseSections(signal); releaseSections(signal);
...@@ -6960,13 +6955,37 @@ void Dbdict::releaseTableObject(Uint32 tableId, bool removeFromHash) ...@@ -6960,13 +6955,37 @@ void Dbdict::releaseTableObject(Uint32 tableId, bool removeFromHash)
{ {
TableRecordPtr tablePtr; TableRecordPtr tablePtr;
c_tableRecordPool.getPtr(tablePtr, tableId); c_tableRecordPool.getPtr(tablePtr, tableId);
if (removeFromHash){ if (removeFromHash)
{
jam(); jam();
release_object(tablePtr.p->m_obj_ptr_i); release_object(tablePtr.p->m_obj_ptr_i);
} }
else
{
Rope tmp(c_rope_pool, tablePtr.p->tableName);
tmp.erase();
}
Rope frm(c_rope_pool, tablePtr.p->frmData); {
frm.erase(); Rope tmp(c_rope_pool, tablePtr.p->frmData);
tmp.erase();
}
{
Rope tmp(c_rope_pool, tablePtr.p->tsData);
tmp.erase();
}
{
Rope tmp(c_rope_pool, tablePtr.p->ngData);
tmp.erase();
}
{
Rope tmp(c_rope_pool, tablePtr.p->rangeData);
tmp.erase();
}
tablePtr.p->tabState = TableRecord::NOT_DEFINED; tablePtr.p->tabState = TableRecord::NOT_DEFINED;
LocalDLFifoList<AttributeRecord> list(c_attributeRecordPool, LocalDLFifoList<AttributeRecord> list(c_attributeRecordPool,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment