diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2021-06-16 11:28:56 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2021-06-29 11:11:44 +0200 |
commit | 7b51842728b6ee99945afe401fca317c703a12d9 (patch) | |
tree | 7ed893517f793928679254a74cd7b28479556f4f /odb/pgsql/database.ixx | |
parent | c6019273a7564be9ed772d45aa95e09aaff37a23 (diff) |
Add support for bulk operations using pipeline mode in libpq 14
Diffstat (limited to 'odb/pgsql/database.ixx')
-rw-r--r-- | odb/pgsql/database.ixx | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/odb/pgsql/database.ixx b/odb/pgsql/database.ixx index ecc94f9..f04c3e6 100644 --- a/odb/pgsql/database.ixx +++ b/odb/pgsql/database.ixx @@ -119,6 +119,13 @@ namespace odb return persist_<T, id_pgsql> (pobj); } + template <typename I> + inline void database:: + persist (I b, I e, bool cont) + { + persist_<I, id_pgsql> (b, e, cont); + } + template <typename T> inline typename object_traits<T>::pointer_type database:: load (const typename object_traits<T>::id_type& id) @@ -280,6 +287,13 @@ namespace odb update_<T, id_pgsql> (pobj); } + template <typename I> + inline void database:: + update (I b, I e, bool cont) + { + update_<I, id_pgsql> (b, e, cont); + } + template <typename T> inline void database:: update (const T& obj, const section& s) @@ -369,6 +383,20 @@ namespace odb erase_<T, id_pgsql> (pobj); } + template <typename T, typename I> + inline void database:: + erase (I idb, I ide, bool cont) + { + erase_id_<I, T, id_pgsql> (idb, ide, cont); + } + + template <typename I> + inline void database:: + erase (I ob, I oe, bool cont) + { + erase_object_<I, id_pgsql> (ob, oe, cont); + } + template <typename T> inline unsigned long long database:: erase_query () |