diff options
-rw-r--r-- | odb/mysql/source.cxx | 2 | ||||
-rw-r--r-- | odb/tracer/source.cxx | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/odb/mysql/source.cxx b/odb/mysql/source.cxx index a9f8a99..4854a68 100644 --- a/odb/mysql/source.cxx +++ b/odb/mysql/source.cxx @@ -911,8 +911,10 @@ namespace mysql << "{" << "pointer_type p (access::object_factory< " << type << " >::create ());" + << "pointer_traits< pointer_type >::guard g (p);" << "init (pointer_traits< pointer_type >::get_ref (p), " << "sts.image ());" + << "g.release ();" << "return p;" << "}" << "return pointer_type ();" diff --git a/odb/tracer/source.cxx b/odb/tracer/source.cxx index 696d707..77dfa7a 100644 --- a/odb/tracer/source.cxx +++ b/odb/tracer/source.cxx @@ -95,7 +95,9 @@ namespace tracer << endl << "pointer_type r (access::object_factory< " << type << " >::create ());" + << "pointer_traits< pointer_type >::guard g (r);" << "r->" << id.name () << " = id;" + << "g.release ();" << "return r;" << "}"; |