diff --git a/include/caosdb/transaction.h b/include/caosdb/transaction.h index 78524cf007c397c858ae582d8e0097b40c07ae53..0fb724a5316e6f615d4236aa24dc44d338fce803 100644 --- a/include/caosdb/transaction.h +++ b/include/caosdb/transaction.h @@ -345,7 +345,8 @@ public: * * A client may request the current status at any time via GetStatus(). * - * Use WaitForIt() to join the back-ground execution of this transaction. + * Use WaitForIt() to join the back-ground execution of this transaction, otherwise the behaviour + * of getting the ResultSet is undefined. */ auto ExecuteAsynchronously() noexcept -> StatusCode; @@ -353,7 +354,8 @@ public: * Join the background execution and return the status when the execution * terminates. * - * Use this after ExecuteAsynchronously(). + * Use this after ExecuteAsynchronously(), otherwise the TransactionStatus still remains + * EXECUTING. */ [[nodiscard]] auto WaitForIt() const noexcept -> TransactionStatus; diff --git a/test/test_ccaosdb.cpp b/test/test_ccaosdb.cpp index eaf9d5f4141c149731eea5c58f4242c07b57aa35..02283444634a689c3168be34d7b5794f8dfbd069 100644 --- a/test/test_ccaosdb.cpp +++ b/test/test_ccaosdb.cpp @@ -172,6 +172,12 @@ TEST_F(test_ccaosdb, test_entity) { EXPECT_FALSE(*is_list); EXPECT_FALSE(*is_ref); + caosdb_entity_entity_set_datatype(&entity, "Person", true, true); + caosdb_entity_entity_get_datatype(&entity, &out, is_ref, is_list); + EXPECT_EQ(strcmp(out, "Person"), 0); + EXPECT_TRUE(*is_list); + EXPECT_TRUE(*is_ref); + caosdb_entity_entity_set_unit(&entity, "m"); caosdb_entity_entity_get_unit(&entity, &out); EXPECT_EQ(strcmp(out, "m"), 0);