aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--odb/relational/source.cxx2
-rw-r--r--odb/relational/source.hxx1
2 files changed, 3 insertions, 0 deletions
diff --git a/odb/relational/source.cxx b/odb/relational/source.cxx
index e9ddd77..a20406a 100644
--- a/odb/relational/source.cxx
+++ b/odb/relational/source.cxx
@@ -3127,6 +3127,7 @@ traverse_object (type& c)
//
os << endl
<< "statements_type::auto_lock l (" << rsts << ");"
+ << "assert (l.locked ()) /* Must be a top-level call. */;"
<< endl;
os << "if (!find_ (sts, &id" <<
@@ -3233,6 +3234,7 @@ traverse_object (type& c)
//
os << endl
<< "statements_type::auto_lock l (" << rsts << ");"
+ << "assert (l.locked ()) /* Must be a top-level call. */;"
<< endl;
os << "const id_type& id (object_traits_impl::id (obj));"
diff --git a/odb/relational/source.hxx b/odb/relational/source.hxx
index eae49a5..ce031b1 100644
--- a/odb/relational/source.hxx
+++ b/odb/relational/source.hxx
@@ -2906,6 +2906,7 @@ namespace relational
// This can only be top-level call so lock must succeed.
//
os << r_tr << "::statements_type::auto_lock l (sts);"
+ << "assert (l.locked ()) /* Must be a top-level call. */;"
<< endl
<< r_tr << "::id_image_type& i (sts.id_image ());"
<< r_tr << "::init (i, " << id << ");"