From c2be6303f97e470960ee77805128c46d3ea5c102 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 6 Mar 2012 11:34:56 +0200 Subject: Detect situations where session is required but not used Throw session_required. --- odb/exceptions.cxx | 6 ++++++ odb/exceptions.hxx | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/odb/exceptions.cxx b/odb/exceptions.cxx index 9089a5b..b200843 100644 --- a/odb/exceptions.cxx +++ b/odb/exceptions.cxx @@ -46,6 +46,12 @@ namespace odb return "session not in effect in this thread"; } + const char* session_required:: + what () const throw () + { + return "session required to load this object relationship"; + } + const char* deadlock:: what () const throw () { diff --git a/odb/exceptions.hxx b/odb/exceptions.hxx index 682766a..b55b2a4 100644 --- a/odb/exceptions.hxx +++ b/odb/exceptions.hxx @@ -55,6 +55,12 @@ namespace odb what () const throw (); }; + struct LIBODB_EXPORT session_required: exception + { + virtual const char* + what () const throw (); + }; + // Database operations exceptions. // struct LIBODB_EXPORT recoverable: exception @@ -138,6 +144,7 @@ namespace odb using odb::already_in_session; using odb::not_in_session; + using odb::session_required; using odb::recoverable; using odb::deadlock; -- cgit v1.1