diff options
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); + } +} |