Add Relationship::RemoveProperty to C++ query module API (#1156)
This commit is contained in:
parent
60e167d676
commit
a426ef9cc3
@ -780,6 +780,9 @@ class Relationship {
|
||||
/// @brief Sets the chosen property to the given value.
|
||||
void SetProperty(std::string property, Value value);
|
||||
|
||||
/// @brief Removes the chosen property.
|
||||
void RemoveProperty(std::string property);
|
||||
|
||||
/// @brief Retrieves the value of the chosen property.
|
||||
Value GetProperty(const std::string &property) const;
|
||||
|
||||
@ -2726,6 +2729,8 @@ inline void Relationship::SetProperty(std::string property, Value value) {
|
||||
mgp::edge_set_property(ptr_, property.data(), value.ptr());
|
||||
}
|
||||
|
||||
inline void Relationship::RemoveProperty(std::string property) { SetProperty(property, Value()); }
|
||||
|
||||
inline Value Relationship::GetProperty(const std::string &property) const {
|
||||
mgp_value *edge_prop = mgp::MemHandlerCallback(edge_get_property, ptr_, property.data());
|
||||
return Value(steal, edge_prop);
|
||||
|
@ -575,6 +575,22 @@ TYPED_TEST(CppApiTestFixture, TestNodeRemoveProperty) {
|
||||
ASSERT_EQ(node.Properties().size(), 0);
|
||||
}
|
||||
|
||||
TYPED_TEST(CppApiTestFixture, TestRelationshipRemoveProperty) {
|
||||
mgp_graph raw_graph = this->CreateGraph(memgraph::storage::View::NEW);
|
||||
auto graph = mgp::Graph(&raw_graph);
|
||||
auto node_1 = graph.CreateNode();
|
||||
auto node_2 = graph.CreateNode();
|
||||
auto relationship = graph.CreateRelationship(node_1, node_2, "Relationship");
|
||||
|
||||
int64_t int_1{0};
|
||||
mgp::Value value{int_1};
|
||||
relationship.SetProperty("property", value);
|
||||
|
||||
ASSERT_EQ(relationship.Properties().size(), 1);
|
||||
relationship.RemoveProperty("property");
|
||||
ASSERT_EQ(relationship.Properties().size(), 0);
|
||||
}
|
||||
|
||||
TYPED_TEST(CppApiTestFixture, TestValuePrint) {
|
||||
std::string string_1{"abc"};
|
||||
int64_t int_1{4};
|
||||
|
Loading…
Reference in New Issue
Block a user