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