Skip to content
Snippets Groups Projects
Commit bd751023 authored by florian's avatar florian
Browse files

WIP: Add queries to Extern C

parent 65817626
No related branches found
No related tags found
3 merge requests!12F consolidation,!9Draft: API: remove UniqueResult, lower-case at, size for ResultSet,!8ENH: Add retrieval and queries to Extern C interface
Pipeline #11621 canceled
This commit is part of merge request !8. Comments created here will be created in the context of that merge request.
...@@ -251,6 +251,8 @@ int caosdb_transaction_transaction_retrieve_by_id( ...@@ -251,6 +251,8 @@ int caosdb_transaction_transaction_retrieve_by_id(
caosdb_transaction_transaction *transaction, const char *id); caosdb_transaction_transaction *transaction, const char *id);
int caosdb_transaction_transaction_retrieve_by_ids( int caosdb_transaction_transaction_retrieve_by_ids(
caosdb_transaction_transaction *transaction, const char *ids[]); caosdb_transaction_transaction *transaction, const char *ids[]);
int caosdb_transaction_transaction_query(
caosdb_transaction_transaction *transaction, const char *query);
int caosdb_transaction_transaction_execute( int caosdb_transaction_transaction_execute(
caosdb_transaction_transaction *transaction); caosdb_transaction_transaction *transaction);
// TODO(fspreck) execute_asynchronously may be added as a separate // TODO(fspreck) execute_asynchronously may be added as a separate
......
...@@ -269,6 +269,7 @@ ERROR_RETURN_CODE(GENERIC_ERROR, ...@@ -269,6 +269,7 @@ ERROR_RETURN_CODE(GENERIC_ERROR,
transaction->wrapped_transaction); transaction->wrapped_transaction);
return wrapped_transaction->RetrieveById(std::string(id)); return wrapped_transaction->RetrieveById(std::string(id));
}) })
ERROR_RETURN_CODE( ERROR_RETURN_CODE(
GENERIC_ERROR, GENERIC_ERROR,
int caosdb_transaction_transaction_retrieve_by_ids( int caosdb_transaction_transaction_retrieve_by_ids(
...@@ -284,6 +285,17 @@ ERROR_RETURN_CODE( ...@@ -284,6 +285,17 @@ ERROR_RETURN_CODE(
return wrapped_transaction->RetrieveById(str_ids.begin(), str_ids.end()); return wrapped_transaction->RetrieveById(str_ids.begin(), str_ids.end());
}) })
ERROR_RETURN_CODE(GENERIC_ERROR,
int caosdb_transaction_transaction_query(
caosdb_transaction_transaction *transaction,
const char *query),
{
auto *wrapped_transaction =
static_cast<caosdb::transaction::Transaction *>(
transaction->wrapped_transaction);
return wrapped_transaction->Query(std::string(query));
})
ERROR_RETURN_CODE(GENERIC_ERROR, ERROR_RETURN_CODE(GENERIC_ERROR,
int caosdb_transaction_transaction_execute( int caosdb_transaction_transaction_execute(
caosdb_transaction_transaction *transaction), caosdb_transaction_transaction *transaction),
......
...@@ -108,3 +108,17 @@ TEST_F(test_ccaosdb, test_multi_retrieve) { ...@@ -108,3 +108,17 @@ TEST_F(test_ccaosdb, test_multi_retrieve) {
caosdb_transaction_transaction_retrieve_by_ids(&multi_transaction, ids)); caosdb_transaction_transaction_retrieve_by_ids(&multi_transaction, ids));
EXPECT_EQ(return_code, 0); EXPECT_EQ(return_code, 0);
} }
TEST_F(test_ccaosdb, test_query) {
caosdb_connection_connection connection;
caosdb_connection_connection_manager_get_connection(&connection,
"local-caosdb-admin");
caosdb_transaction_transaction transaction;
caosdb_connection_connection_create_transaction(&connection,
&transaction);
int return_code(caosdb_transaction_transaction_query(
&transaction, "FIND ENTITY WITH id=123"));
EXPECT_EQ(return_code, 0);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment