From f6c01c1f1be73711798473193f8e6b1c732e1162 Mon Sep 17 00:00:00 2001 From: florian <f.spreckelsen@inidscale.com> Date: Tue, 17 Aug 2021 13:25:54 +0200 Subject: [PATCH] DRAFT: Implement insert, update, and delete --- src/ccaosdb.cpp | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/ccaosdb.cpp b/src/ccaosdb.cpp index d962c5b..9a62cb0 100644 --- a/src/ccaosdb.cpp +++ b/src/ccaosdb.cpp @@ -461,6 +461,44 @@ ERROR_RETURN_CODE(GENERIC_ERROR, return wrapped_transaction->Query(std::string(query)); }) +ERROR_RETURN_CODE( + GENERIC_ERROR, + int caosdb_transaction_transaction_insert_entity( + caosdb_transaction_transaction *transaction, caosdb_entity_entity *entity), + { + auto *wrapped_transaction = static_cast<caosdb::transaction::Transaction *>( + transaction->wrapped_transaction); + auto *wrapped_entity = + static_cast<caosdb::entity::Entity *>(entity->wrapped_entity); + + return wrapped_transaction->InsertEntity(*wrapped_entity); + }) + +ERROR_RETURN_CODE( + GENERIC_ERROR, + int caosdb_transaction_transaction_update_entity( + caosdb_transaction_transaction *transaction, caosdb_entity_entity *entity), + { + auto *wrapped_transaction = static_cast<caosdb::transaction::Transaction *>( + transaction->wrapped_transaction); + auto *wrapped_entity = + static_cast<caosdb::entity::Entity *>(entity->wrapped_entity); + + return wrapped_transaction->UpdateEntity(*wrapped_entity); + }) + +ERROR_RETURN_CODE(GENERIC_ERROR, + int caosdb_transaction_transaction_delete_by_id( + caosdb_transaction_transaction *transaction, + const char *id), + { + auto *wrapped_transaction = + static_cast<caosdb::transaction::Transaction *>( + transaction->wrapped_transaction); + + return wrapped_transaction->DeleteById(std::string(id)) + }) + ERROR_RETURN_CODE(GENERIC_ERROR, int caosdb_transaction_transaction_execute( caosdb_transaction_transaction *transaction), -- GitLab