[odb-users] Re: session required inside a function with a session

Simón Emmanuel Gutiérrez Brida simon.gutierrez.brida at gmail.com
Thu Jan 30 15:58:29 EST 2014


Sorry, I pressed enter by accident

I have


   1. vector<User> Driver::retriveUsers() {
   2.     session s;
   3.     vector<User> users(0);
   4.     transaction t (db->begin ());
   5.
   6.     user_result r (db->query<User> (true));
   7.
   8.     for (user_result::iterator i (r.begin ()); i != r.end (); ++i) {
   9.         User* user = new User(*i);
   10.         users.push_back(*user);
   11.     }
   12.
   13.     t.commit ();
   14.     return users;
   15. }



At line 9 I get a session required exception.

I just want to have two classes
an User and a Pattern, User have an id and a vector of weak_ptr defined as

#pragma db value_not_null inverse(user)
std::vector<std::tr1::weak_ptr<Pattern>> patterns;

and Pattern is defined as

 #pragma db id
 std::string id;
 #pragma db map type("XML")       \
           as("TEXT")        \
           to("XMLPARSE(DOCUMENT (?))") \
           from("XMLSERIALIZE(DOCUMENT (?) AS TEXT)")
 #pragma db type("XML")
 std::string data;
 Category pattern_category; //an enum
 #pragma db not_null
std::tr1::shared_ptr<User> user;



2014-01-30 Simón Emmanuel Gutiérrez Brida <simon.gutierrez.brida at gmail.com>

> I have
>


More information about the odb-users mailing list