diff options
author | Michael Shepanski <michael@codesynthesis.com> | 2014-11-06 16:33:35 +1100 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2014-11-10 16:48:13 +0200 |
commit | 51a01cfebf933d270bf7b7fadb0fb3ca3b7a4cd5 (patch) | |
tree | 40ca9efb48c65e88822bcb7538d64bf1299d7aaf /prepared/driver.cxx | |
parent | f7d0e9c620d7c3117074e2618f2bc75699d6f2f0 (diff) |
Implement {query,execute}_{one,value}() shortcut functions
Useful in situations where the query is know to return at most one element
(*_one) or exactly one element (*_value).
Diffstat (limited to 'prepared/driver.cxx')
-rw-r--r-- | prepared/driver.cxx | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/prepared/driver.cxx b/prepared/driver.cxx index 7d561a9..d805ddb 100644 --- a/prepared/driver.cxx +++ b/prepared/driver.cxx @@ -206,7 +206,6 @@ main (int argc, char* argv[]) { typedef odb::query<person_count> query; typedef odb::prepared_query<person_count> prep_query; - typedef odb::result<person_count> result; transaction t (db->begin ()); @@ -215,11 +214,11 @@ main (int argc, char* argv[]) prep_query pq ( db->prepare_query<person_count> ("person-count-age-query", q)); + // Because an aggregate query result always contains one element, + // we use execute_value() insetad of execute() as a shortcut: + // for (age = 90; age > 40; age -= 10) - { - result r (pq.execute ()); - cout << "over " << age << ": " << r.begin ()->count << endl; - } + cout << "over " << age << ": " << pq.execute_value ().count << endl; t.commit (); } |