summaryrefslogtreecommitdiff
path: root/cpp/src/Freeze/ObjectStore.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Freeze/ObjectStore.cpp')
-rw-r--r--cpp/src/Freeze/ObjectStore.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/cpp/src/Freeze/ObjectStore.cpp b/cpp/src/Freeze/ObjectStore.cpp
index a8cc39c9079..00d244f0308 100644
--- a/cpp/src/Freeze/ObjectStore.cpp
+++ b/cpp/src/Freeze/ObjectStore.cpp
@@ -336,10 +336,6 @@ Freeze::ObjectStore::load(const Identity& ident)
}
break; // for(;;)
}
- catch(const DbMemoryException& dx)
- {
- handleMemoryException(dx, value, dbValue);
- }
catch(const DbDeadlockException&)
{
if(_evictor->deadlockWarning())
@@ -354,9 +350,14 @@ Freeze::ObjectStore::load(const Identity& ident)
}
catch(const DbException& dx)
{
- DatabaseException ex(__FILE__, __LINE__);
- ex.message = dx.what();
- throw ex;
+ if(dx.get_errno() == DB_BUFFER_SMALL)
+ {
+ handleMemoryException(dx, value, dbValue);
+ }
+ else
+ {
+ throw dx;
+ }
}
}