Skip to content

Commit eed2955

Browse files
committed
Modify InternalPropertyAdditionOps to use GraphWriter
1 parent 9357ca9 commit eed2955

File tree

3 files changed

+23
-14
lines changed

3 files changed

+23
-14
lines changed

db4-storage/src/segments/graph/segment.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ impl MemGraphSegment {
4343
pub fn new() -> Self {
4444
// Technically, these aren't used since there is always only one graph segment.
4545
let segment_id = 0;
46-
let max_page_len = 0;
46+
let max_page_len = 1;
4747
let meta = Arc::new(Meta::new_for_graph());
4848

4949
Self {

raphtory-storage/src/mutation/property_addition_ops.rs

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -59,26 +59,35 @@ impl InternalPropertyAdditionOps for db4_graph::TemporalGraph<Extension> {
5959
t: TimeIndexEntry,
6060
props: &[(usize, Prop)],
6161
) -> Result<(), Self::Error> {
62-
// FIXME: check atomicity
63-
for (id, prop) in props {
64-
self.graph_meta().add_prop(t, *id, prop.clone())?;
65-
}
62+
let mut writer = self.storage().graph().writer();
63+
64+
// TODO: props should be passed as a vec instead of cloning
65+
let props: Vec<_> = props.iter().map(|(id, prop)| (*id, prop.clone())).collect();
66+
67+
writer.add_properties(t, props);
68+
6669
Ok(())
6770
}
6871

6972
fn internal_add_metadata(&self, props: &[(usize, Prop)]) -> Result<(), Self::Error> {
70-
// FIXME: check atomicity
71-
for (id, prop) in props {
72-
self.graph_meta().add_metadata(*id, prop.clone())?;
73-
}
73+
let mut writer = self.storage().graph().writer();
74+
75+
// TODO: props should be passed as a vec instead of cloning
76+
let props: Vec<_> = props.iter().map(|(id, prop)| (*id, prop.clone())).collect();
77+
78+
writer.add_metadata(props);
79+
7480
Ok(())
7581
}
7682

7783
fn internal_update_metadata(&self, props: &[(usize, Prop)]) -> Result<(), Self::Error> {
78-
// FIXME: check atomicity
79-
for (id, prop) in props {
80-
self.graph_meta().update_metadata(*id, prop.clone());
81-
}
84+
let mut writer = self.storage().graph().writer();
85+
86+
// TODO: props should be passed as a vec instead of cloning
87+
let props: Vec<_> = props.iter().map(|(id, prop)| (*id, prop.clone())).collect();
88+
89+
writer.update_metadata(props);
90+
8291
Ok(())
8392
}
8493

raphtory/tests/db_tests.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1993,7 +1993,7 @@ fn test_graph_metadata() {
19931993
.map(|(name, value)| (name, Prop::U64(value)))
19941994
.collect::<Vec<_>>();
19951995

1996-
g.add_metadata(as_props.clone()).unwrap();
1996+
g.add_metadata(as_props.clone()).unwrap();
19971997

19981998
let props_map = as_props.into_iter().collect::<HashMap<_, _>>();
19991999

0 commit comments

Comments
 (0)