summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <tomas@poseidon.ndb.mysql.com>2006-05-15 20:24:50 +0200
committerunknown <tomas@poseidon.ndb.mysql.com>2006-05-15 20:24:50 +0200
commit32b3a9fed23342cc28b57170c69e5e6892b87d1a (patch)
tree5dfb4ba7d988a01b35aeaa3d2b701a3968437c5e
parent811fcf8626d9a9a9abbdac7d74f5fdcbb8a36100 (diff)
downloadmariadb-git-32b3a9fed23342cc28b57170c69e5e6892b87d1a.tar.gz
ndb: dict cache reference not released as it should
storage/ndb/src/ndbapi/DictCache.cpp: changed dbug printout
-rw-r--r--storage/ndb/src/ndbapi/DictCache.cpp4
-rw-r--r--storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp7
2 files changed, 7 insertions, 4 deletions
diff --git a/storage/ndb/src/ndbapi/DictCache.cpp b/storage/ndb/src/ndbapi/DictCache.cpp
index 43913d6c5be..47e48974449 100644
--- a/storage/ndb/src/ndbapi/DictCache.cpp
+++ b/storage/ndb/src/ndbapi/DictCache.cpp
@@ -134,8 +134,8 @@ void GlobalDictCache::printCache()
const unsigned sz = vers->size();
for(unsigned i = 0; i<sz ; i++){
TableVersion tv= (*vers)[i];
- DBUG_PRINT(" ", ("vers[%d]: ver: %d, refCount: %d, status: %d",
- sz, tv.m_version, tv.m_refCount, tv.m_status));
+ DBUG_PRINT(" ", ("impl: %p vers[%d]: ver: %d, refCount: %d, status: %d",
+ tv.m_impl, i, tv.m_version, tv.m_refCount, tv.m_status));
if(tv.m_impl != 0)
{
DBUG_PRINT(" ", ("m_impl: internalname: %s",
diff --git a/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp b/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp
index 104d2ffc8bb..5a842d1ecc5 100644
--- a/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp
+++ b/storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp
@@ -3725,9 +3725,12 @@ NdbDictionaryImpl::getEvent(const char * eventName, NdbTableImpl* tab)
DBUG_RETURN(NULL);
}
}
+ ev->setTable(tab);
+ releaseTableGlobal(*tab, 0);
}
-
- ev->setTable(tab);
+ else
+ ev->setTable(tab);
+ tab = 0;
ev->setTable(m_ndb.externalizeTableName(ev->getTableName()));
// get the columns from the attrListBitmask