From d85907da6679c80bd5f242e18aa47184310c445b Mon Sep 17 00:00:00 2001
From: Timm Fitschen <t.fitschen@indiscale.com>
Date: Fri, 6 Aug 2021 12:31:48 +0200
Subject: [PATCH] add empty result set when single count query

---
 include/caosdb/transaction.h | 17 +++++++++++++++++
 src/caosdb/transaction.cpp   |  3 +++
 2 files changed, 20 insertions(+)

diff --git a/include/caosdb/transaction.h b/include/caosdb/transaction.h
index f433288..c246bc5 100644
--- a/include/caosdb/transaction.h
+++ b/include/caosdb/transaction.h
@@ -389,6 +389,23 @@ public:
     return this->request->requests_size();
   }
 
+  /**
+   * Get a JSON representation of the respone.
+   *
+   * For debugging.
+   */
+  inline auto ResponseToString() const -> const std::string {
+    google::protobuf::util::JsonOptions options;
+    std::string out;
+    google::protobuf::util::MessageToJsonString(*this->response, &out, options);
+    return out;
+  }
+
+  /**
+   * Get a JSON representation of the request.
+   *
+   * For debugging.
+   */
   inline auto RequestToString() const -> const std::string {
     google::protobuf::util::JsonOptions options;
     std::string out;
diff --git a/src/caosdb/transaction.cpp b/src/caosdb/transaction.cpp
index f866ca3..93b6f48 100644
--- a/src/caosdb/transaction.cpp
+++ b/src/caosdb/transaction.cpp
@@ -300,6 +300,9 @@ auto Transaction::WaitForIt() const noexcept -> TransactionStatus {
       } break;
       case QueryResponseCase::kCountResult: {
         this->query_count = retrieve_response->count_result();
+        std::vector<std::unique_ptr<Entity>> entities;
+        this->result_set =
+          std::make_unique<MultiResultSet>(std::move(entities));
       } break;
       default:
         // TODO(tf) Error
-- 
GitLab