aboutsummaryrefslogtreecommitdiff
path: root/odb/sqlite/statement-cache.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/sqlite/statement-cache.hxx')
-rw-r--r--odb/sqlite/statement-cache.hxx54
1 files changed, 3 insertions, 51 deletions
diff --git a/odb/sqlite/statement-cache.hxx b/odb/sqlite/statement-cache.hxx
index b42bda4..923b428 100644
--- a/odb/sqlite/statement-cache.hxx
+++ b/odb/sqlite/statement-cache.hxx
@@ -29,43 +29,9 @@ namespace odb
class LIBODB_SQLITE_EXPORT statement_cache
{
public:
- statement_cache (connection&);
-
- generic_statement&
- begin_statement () const
- {
- return *begin_;
- }
-
- generic_statement&
- begin_immediate_statement () const
- {
- if (!begin_immediate_)
- begin_immediate_statement_ ();
-
- return *begin_immediate_;
- }
-
- generic_statement&
- begin_exclusive_statement () const
- {
- if (!begin_exclusive_)
- begin_exclusive_statement_ ();
-
- return *begin_exclusive_;
- }
-
- generic_statement&
- commit_statement () const
- {
- return *commit_;
- }
-
- generic_statement&
- rollback_statement () const
- {
- return *rollback_;
- }
+ statement_cache (connection& conn)
+ : conn_ (conn),
+ version_seq_ (conn.database ().schema_version_sequence ()) {}
template <typename T>
typename object_traits_impl<T, id_sqlite>::statements_type&
@@ -76,26 +42,12 @@ namespace odb
find_view ();
private:
- void
- begin_immediate_statement_ () const;
-
- void
- begin_exclusive_statement_ () const;
-
- private:
typedef std::map<const std::type_info*,
details::shared_ptr<statements_base>,
details::type_info_comparator> map;
connection& conn_;
unsigned int version_seq_;
-
- details::shared_ptr<generic_statement> begin_;
- mutable details::shared_ptr<generic_statement> begin_immediate_;
- mutable details::shared_ptr<generic_statement> begin_exclusive_;
- details::shared_ptr<generic_statement> commit_;
- details::shared_ptr<generic_statement> rollback_;
-
map map_;
};
}