From 51a01cfebf933d270bf7b7fadb0fb3ca3b7a4cd5 Mon Sep 17 00:00:00 2001 From: Michael Shepanski Date: Thu, 6 Nov 2014 16:33:35 +1100 Subject: 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). --- prepared/driver.cxx | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'prepared') 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 query; typedef odb::prepared_query prep_query; - typedef odb::result result; transaction t (db->begin ()); @@ -215,11 +214,11 @@ main (int argc, char* argv[]) prep_query pq ( db->prepare_query ("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 (); } -- cgit v1.1