From 89a3b6133ade1ccb3a8e9ab9c86eac6aaef5db69 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 15 Nov 2010 17:46:28 +0200 Subject: Add support for custom object pointers New option: --default-pointer. New object pragma specifier: pointer. --- odb/mysql/header.cxx | 9 ++++----- odb/mysql/source.cxx | 4 ++-- 2 files changed, 6 insertions(+), 7 deletions(-) (limited to 'odb/mysql') diff --git a/odb/mysql/header.cxx b/odb/mysql/header.cxx index 195263c..79b8d67 100644 --- a/odb/mysql/header.cxx +++ b/odb/mysql/header.cxx @@ -675,15 +675,14 @@ namespace mysql << "//" << endl; os << "template <>" << endl - << "class access::object_traits< " << type << " >: " << endl - << " public access::object_memory< " << type << " >," << endl - << " public access::object_factory< " << type << " >" + << "class access::object_traits< " << type << " >" << "{" << "public:" << endl; - // object_type + // object_type & pointer_type // - os << "typedef " << type << " object_type;"; + os << "typedef " << type << " object_type;" + << "typedef " << c.get ("object-pointer") << " pointer_type;"; // id_type // diff --git a/odb/mysql/source.cxx b/odb/mysql/source.cxx index 29495df..2e54a04 100644 --- a/odb/mysql/source.cxx +++ b/odb/mysql/source.cxx @@ -2174,8 +2174,8 @@ namespace mysql << "bool grew (false);" << "if (find (sts, id, grew))" << "{" - << "pointer_type p (access::object_factory< " << type << - " >::create ());" + << "pointer_type p (access::object_factory< object_type, " << + "pointer_type >::create ());" << "pointer_traits< pointer_type >::guard g (p);" << "object_type& obj (pointer_traits< pointer_type >::get_ref (p));" << "init (obj, sts.image ());"; -- cgit v1.1