summaryrefslogtreecommitdiff
path: root/ndb/src/ndbapi/DictCache.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ndb/src/ndbapi/DictCache.cpp')
-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);