summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <tomas@poseidon.ndb.mysql.com>2006-07-06 16:03:22 +0200
committerunknown <tomas@poseidon.ndb.mysql.com>2006-07-06 16:03:22 +0200
commit05dad2de21e6b6a21ca522176e0e71c91a8fc677 (patch)
tree75b9f18cb86509fcb7d6907bddaaae16c08d378b
parent854d7c4d4f5ccc110f65dd740e304a196428b3d6 (diff)
parent73bf763071a9eb36889209d08d1b838b33443021 (diff)
downloadmariadb-git-05dad2de21e6b6a21ca522176e0e71c91a8fc677.tar.gz
Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-main
-rw-r--r--ndb/src/ndbapi/DictCache.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/ndb/src/ndbapi/DictCache.cpp b/ndb/src/ndbapi/DictCache.cpp
index 9b6449e8ec5..66ce6266fb9 100644
--- a/ndb/src/ndbapi/DictCache.cpp
+++ b/ndb/src/ndbapi/DictCache.cpp
@@ -278,12 +278,15 @@ GlobalDictCache::invalidate_all()
if (vers->size())
{
TableVersion * ver = & vers->back();
- ver->m_impl->m_status = NdbDictionary::Object::Invalid;
- ver->m_status = DROPPED;
- if (ver->m_refCount == 0)
+ if (ver->m_status != RETREIVING)
{
- delete ver->m_impl;
- vers->erase(vers->size() - 1);
+ ver->m_impl->m_status = NdbDictionary::Object::Invalid;
+ ver->m_status = DROPPED;
+ if (ver->m_refCount == 0)
+ {
+ delete ver->m_impl;
+ vers->erase(vers->size() - 1);
+ }
}
}
curr = m_tableHash.getNext(curr);