diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2017-05-14 18:32:27 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2017-05-14 18:32:27 +0100 |
commit | e56ac1e5bf53326edc7d86c88cc039b469dc9b18 (patch) | |
tree | 643382d3ea9ab10871f440fb364cc331c90454f5 | |
parent | Standalone split (diff) | |
download | icetray-e56ac1e5bf53326edc7d86c88cc039b469dc9b18.tar.bz2 icetray-e56ac1e5bf53326edc7d86c88cc039b469dc9b18.tar.xz icetray-e56ac1e5bf53326edc7d86c88cc039b469dc9b18.zip |
Add fetch variant that takes an existing DB connection, suitable for use in transaction blocks etcicetray-0.1.4
-rw-r--r-- | icetray/icetray/abstractDatabaseClient.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/icetray/icetray/abstractDatabaseClient.h b/icetray/icetray/abstractDatabaseClient.h index 4c65ff7..3242553 100644 --- a/icetray/icetray/abstractDatabaseClient.h +++ b/icetray/icetray/abstractDatabaseClient.h @@ -18,7 +18,15 @@ namespace IceTray { fetch(const SqlSource & sql, const Params & ... params) { auto c = db->get(); - auto s = sql.select(c.get()); + return fetch<Domain, Params...>(c.get(), sql, params...); + } + + template<typename Domain, typename ... Params> + inline + Domain + fetch(DB::Connection * c, const SqlSource & sql, const Params & ... params) + { + auto s = sql.select(c); bind(0, s.get(), params...); return Slicer::DeserializeAny<Slicer::SqlSelectDeserializer, Domain>(*s); } |