From 7a1be868574beb4843d189a7d9d758d608da65c9 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 27 Sep 2011 11:20:31 +0200 Subject: Add support for associating tables with views --- common/view/driver.cxx | 38 +++++++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 7 deletions(-) (limited to 'common/view/driver.cxx') diff --git a/common/view/driver.cxx b/common/view/driver.cxx index 7d921cd..cd734bd 100644 --- a/common/view/driver.cxx +++ b/common/view/driver.cxx @@ -134,7 +134,7 @@ view4_test (const auto_ptr& db) template void -view6_test (const auto_ptr& db) +view6_test (const auto_ptr& db, const odb::query& q) { typedef odb::query query; typedef odb::result result; @@ -143,9 +143,7 @@ view6_test (const auto_ptr& db) transaction t (db->begin ()); { - result r ( - db->query ( - query::employer::name == "Simple Tech, Inc")); + result r (db->query (q)); iterator i (r.begin ()); @@ -312,6 +310,24 @@ main (int argc, char* argv[]) } } + // view1d + // + { + typedef odb::query query; + typedef odb::result result; + + { + transaction t (db->begin ()); + + { + result r (db->query ("age < 31 ORDER BY age")); + view1_check (r); + } + + t.commit (); + } + } + // view2 // view2_test (db); @@ -412,9 +428,17 @@ main (int argc, char* argv[]) // view6 // - view6_test (db); - view6_test (db); - view6_test (db); + view6_test ( + db, odb::query::employer::name == "Simple Tech, Inc"); + + view6_test ( + db, odb::query::employer::name == "Simple Tech, Inc"); + + view6_test ( + db, odb::query::employer::name == "Simple Tech, Inc"); + + view6_test ( + db, "e.name = " + odb::query::_val ("Simple Tech, Inc")); // view7 // -- cgit v1.1