diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2024-01-24 16:53:38 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2024-01-24 16:53:38 +0300 |
commit | 26e36b3a9d7b49d46ecfa69b447482251acba8ac (patch) | |
tree | 5436b7857fae9aee50d018ea0eef35a529fc03e4 /libodb/odb/connection.txx | |
parent | 0074faad1b27f3cd52a606c438e4f1375956d731 (diff) |
Turn libodb repository into package for muti-package repositorylibodb
Diffstat (limited to 'libodb/odb/connection.txx')
-rw-r--r-- | libodb/odb/connection.txx | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/libodb/odb/connection.txx b/libodb/odb/connection.txx new file mode 100644 index 0000000..a082f14 --- /dev/null +++ b/libodb/odb/connection.txx @@ -0,0 +1,44 @@ +// file : odb/connection.txx +// license : GNU GPL v2; see accompanying LICENSE file + +namespace odb +{ + template <typename T, database_id DB> + struct connection::query_<T, DB, class_object> + { + template <typename Q> + static prepared_query<T> + call (connection& c, const char* n, const Q& q) + { + // C++ compiler complaining there is no prepare_query()? Perhaps + // you forgot to specify --generate-prepared when compiling your + // persistent classes. + // + return prepared_query<T> ( + object_traits_impl<T, DB>::prepare_query (c, n, q)); + } + }; + + template <typename T, database_id DB> + struct connection::query_<T, DB, class_view> + { + template <typename Q> + static prepared_query<T> + call (connection& c, const char* n, const Q& q) + { + // C++ compiler complaining there is no prepare_query()? Perhaps + // you forgot to specify --generate-prepared when compiling your + // views. + // + return prepared_query<T> ( + view_traits_impl<T, DB>::prepare_query (c, n, q)); + } + }; + + template <typename P> + void connection:: + params_deleter (void* p) + { + delete static_cast<P*> (p); + } +} |