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