From b3074c886ffba0e3b3da52de35b2961a1f3f0da7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20tom=20W=C3=B6rden?= <henrik@trineo.org> Date: Wed, 25 Aug 2021 12:06:36 +0200 Subject: [PATCH] add add_insert_entity function --- src/CaosDB.jl | 1 + src/Transaction.jl | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/CaosDB.jl b/src/CaosDB.jl index b81fd46..6208fd7 100644 --- a/src/CaosDB.jl +++ b/src/CaosDB.jl @@ -83,6 +83,7 @@ export has_errors, has_warnings # Exports from module Transaction export create_transaction, add_retrieve_by_id, + add_insert_entity, add_query, execute, get_result_set, diff --git a/src/Transaction.jl b/src/Transaction.jl index 2308048..4d88319 100644 --- a/src/Transaction.jl +++ b/src/Transaction.jl @@ -26,6 +26,7 @@ module Transaction export create_transaction, add_retrieve_by_id, add_query, + add_insert_entity, execute, get_result_set, get_count_result, @@ -137,6 +138,28 @@ function add_retrieve_by_id(transaction::Ref{_Transaction}, id::AbstractString) CaosDB.Exceptions.evaluate_return_code(err_code) end +""" + function add_insert_entity(transaction::Ref{_Transaction}, entity::Ref{_CaosDB.Entity.Entity}) + +Add a sub-request to insert a single entity to the given `transaction`. + +!!! info + + This does not execute the transaction. +""" +function add_insert_entity(transaction::Ref{_Transaction}, entity::Ref{CaosDB.Entity._Entity}) + + err_code = ccall( + (:caosdb_transaction_transaction_insert_entity, CaosDB.library_name), + Cint, + (Ref{_Transaction}, Ref{CaosDB.Entity._Entity}), + transaction, + entity, + ) + + CaosDB.Exceptions.evaluate_return_code(err_code) +end + """ function add_retrieve_by_id( transaction::Ref{_Transaction}, -- GitLab