diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2010-09-10 12:57:27 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2010-09-10 12:57:27 +0200 |
commit | 3f984b260e67ee5f2ac3cb9b85e0f3f2f95a7fc7 (patch) | |
tree | 0e1236771e0f3058e1d0918434aee4e5c7729303 | |
parent | 418a79b797c8e9c638b953cd78ab5c5e71ccf272 (diff) |
Add support for result caching
-rw-r--r-- | odb/result.hxx | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/odb/result.hxx b/odb/result.hxx index 7501326..163b619 100644 --- a/odb/result.hxx +++ b/odb/result.hxx @@ -67,6 +67,9 @@ namespace odb virtual void next () = 0; + virtual void + cache () = 0; + protected: void current (pointer_type p) @@ -216,6 +219,18 @@ namespace odb return *this; } + // Cache the result instead of fetching the data from the database + // one object at a time. This is necessary if you plan on performing + // database operations while iterating over the result. + // + public: + void + cache () + { + if (impl_) + impl_->cache (); + } + public: iterator begin () |