From 756600d8d82ad52e005b3e1344edaf7ad27451dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20tom=20W=C3=B6rden?= <henrik@trineo.org>
Date: Fri, 20 Aug 2021 07:32:48 +0200
Subject: [PATCH] ENH: add function for convenient insert

---
 include/caosdb/connection.h | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/include/caosdb/connection.h b/include/caosdb/connection.h
index d3ed094..82bd363 100644
--- a/include/caosdb/connection.h
+++ b/include/caosdb/connection.h
@@ -163,5 +163,19 @@ public:
   void operator=(ConnectionManager const &) = delete;
 };
 
+template <class InputIterator>
+auto InsertEntity(InputIterator begin, InputIterator end) noexcept -> int {
+  const auto &connection = caosdb::connection::ConnectionManager::GetDefaultConnection();
+  auto next = begin;
+  auto insert_transaction(connection->CreateTransaction());
+  while (next != end) {
+    auto insert_transaction = connection->CreateTransaction();
+    insert_transaction->InsertEntity(&next);
+    auto insert_status = insert_transaction->Execute();
+    next = std::next(next);
+  }
+
+  return 0;
+}
 } // namespace caosdb::connection
 #endif
-- 
GitLab