F multi retrieve
Summary
Implements multi-entity retrieval caosdb/customers/lfpb/management#393
See tests in caosdb-cppinttest!4 (merged)
Focus
- Most relevant changes are in
include/caosdb/transaction.h
andsrc/caosdb/transaction.cpp
. - New
class MultiResultSet
represents a result set with multiple entities. Is this a good name? - New enum
TransactionType
restricts the kind of sub-transactions (Insert, Delete, Retrieve) which can be added to a transaction. - Macros are used to check whether
InsertEntity
,DeleteById
orRetrieveById
can be called on a transaction (given theTransactionStatus
and 'TransactionType`).
Test Environment
Test with server in branch f-grpc-f-multi-retrieve
Check List for the Author
Please, prepare your MR for a review. Be sure to write a summary and a focus and create gitlab comments for the reviewer. They should guide the reviewer through the changes, explain your changes and also point out open questions. For further good practices have a look at our review guidelines
-
All automated tests pass -
Reference related Issues -
Up-to-date CHANGELOG.md -
Annotations in code (Gitlab comments) - Intent of new code
- Problems with old code
- Why this implementation?
Check List for the Reviewer
-
I understand the intent of this MR -
All automated tests pass -
Up-to-date CHANGELOG.md -
The test environment setup works and the intended behavior is reproducible in the test environment -
In-code documentation and comments are up-to-date. -
Check: Are there specifications? Are they satisfied?
For further good practices have a look at our review guidelines.
Edited by Florian Spreckelsen