mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 13:32:33 +01:00
bug#13078 - ndb
memleak when doing ordered index scan on index with column larger than 32 bytes (recommit for merge to 5.0)
This commit is contained in:
parent
6f3caecffd
commit
bfb8a71f2c
3 changed files with 23 additions and 4 deletions
|
@ -78,11 +78,9 @@ public:
|
|||
/**
|
||||
* NOTE free lists must be _after_ theNdbObjectIdMap take
|
||||
* assure that destructors are run in correct order
|
||||
* NOTE these has to be in this specific order to make destructor run in
|
||||
* correct order
|
||||
*/
|
||||
Ndb_free_list_t<NdbConnection> theConIdleList;
|
||||
Ndb_free_list_t<NdbOperation> theOpIdleList;
|
||||
Ndb_free_list_t<NdbIndexScanOperation> theScanOpIdleList;
|
||||
Ndb_free_list_t<NdbIndexOperation> theIndexOpIdleList;
|
||||
Ndb_free_list_t<NdbRecAttr> theRecAttrIdleList;
|
||||
Ndb_free_list_t<NdbApiSignal> theSignalIdleList;
|
||||
Ndb_free_list_t<NdbLabel> theLabelList;
|
||||
|
@ -91,6 +89,10 @@ public:
|
|||
Ndb_free_list_t<NdbCall> theCallList;
|
||||
Ndb_free_list_t<NdbBlob> theNdbBlobIdleList;
|
||||
Ndb_free_list_t<NdbReceiver> theScanList;
|
||||
Ndb_free_list_t<NdbIndexScanOperation> theScanOpIdleList;
|
||||
Ndb_free_list_t<NdbOperation> theOpIdleList;
|
||||
Ndb_free_list_t<NdbIndexOperation> theIndexOpIdleList;
|
||||
Ndb_free_list_t<NdbConnection> theConIdleList;
|
||||
};
|
||||
|
||||
#ifdef VM_TRACE
|
||||
|
|
|
@ -35,6 +35,7 @@ Adjust: 971206 UABRONM First version
|
|||
|
||||
NdbRecAttr::NdbRecAttr(Ndb*)
|
||||
{
|
||||
theStorageX = 0;
|
||||
init();
|
||||
}
|
||||
|
||||
|
@ -64,6 +65,9 @@ NdbRecAttr::setup(const NdbColumnImpl* anAttrInfo, char* aValue)
|
|||
theNULLind = 0;
|
||||
m_nullable = anAttrInfo->m_nullable;
|
||||
|
||||
if (theStorageX)
|
||||
delete[] theStorageX;
|
||||
|
||||
// check alignment to signal data
|
||||
// a future version could check alignment per data type as well
|
||||
|
||||
|
|
|
@ -308,6 +308,19 @@ Ndb_cluster_connection_impl::~Ndb_cluster_connection_impl()
|
|||
|
||||
// fragmentToNodeMap.release();
|
||||
|
||||
if (ndb_global_event_buffer_mutex != NULL)
|
||||
{
|
||||
NdbMutex_Destroy(ndb_global_event_buffer_mutex);
|
||||
ndb_global_event_buffer_mutex= NULL;
|
||||
}
|
||||
#ifdef VM_TRACE
|
||||
if (ndb_print_state_mutex != NULL)
|
||||
{
|
||||
NdbMutex_Destroy(ndb_print_state_mutex);
|
||||
ndb_print_state_mutex= NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue