diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2010-11-25 11:19:03 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2010-11-25 11:19:03 +0200 |
commit | cd852a8be3a75b0be5bba9a7b6b454849231cd27 (patch) | |
tree | ea0e4ab1dff3ab0c369d49be35e7a14f82cc95ff /common/relationship | |
parent | 9e26a8a565aa4debe8b7eb86aa74ae39af9e7116 (diff) |
Add support for object pointers in query
Diffstat (limited to 'common/relationship')
-rw-r--r-- | common/relationship/driver.cxx | 15 | ||||
-rw-r--r-- | common/relationship/makefile | 3 |
2 files changed, 17 insertions, 1 deletions
diff --git a/common/relationship/driver.cxx b/common/relationship/driver.cxx index 9266e2b..f7aa79e 100644 --- a/common/relationship/driver.cxx +++ b/common/relationship/driver.cxx @@ -96,6 +96,21 @@ main (int argc, char* argv[]) assert (*a1 == a); } + // query + // + typedef odb::query<aggr> query; + typedef odb::result<aggr> result; + + { + transaction t (db->begin ()); + + result r (db->query<aggr> (query::o1::str == "obj1")); + assert (r.size () == 1); + assert (r.begin ()->o1->id == a.o1->id); + + t.commit (); + } + // test NULL pointer // delete a.o1; diff --git a/common/relationship/makefile b/common/relationship/makefile index a1c0a21..a3857d4 100644 --- a/common/relationship/makefile +++ b/common/relationship/makefile @@ -35,7 +35,8 @@ gen := $(addprefix $(out_base)/,$(genf)) $(gen): $(odb) $(gen): odb := $(odb) -$(gen) $(dist): export odb_options += --database $(db_id) --generate-schema +$(gen) $(dist): export odb_options += --database $(db_id) --generate-schema \ +--generate-query $(gen): cpp_options := -I$(out_base) $(gen): $(common.l.cpp-options) |