Skip to content

Commit 1552edc

Browse files
committed
Metadata fixes
1 parent cd54f7f commit 1552edc

File tree

1 file changed

+16
-7
lines changed

1 file changed

+16
-7
lines changed

lib/DaggerGraphs/src/dgraph.jl

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -209,15 +209,27 @@ function set_edge_metadata!(g::DGraph, meta)
209209
# being careful not to transfer `meta` itself, which may be large
210210
for part in 1:nparts(g)
211211
part_edges, back_edges = partition_edges(g, part)
212-
part_submeta = partition_edge_metadata(meta, part_edges)
213-
back_submeta = partition_edge_metadata(meta, back_edges)
212+
if length(part_edges) > 0
213+
part_submeta = partition_edge_metadata(meta, part_edges)
214+
else
215+
part_submeta = nothing
216+
end
217+
if length(back_edges) > 0
218+
back_submeta = partition_edge_metadata(meta, back_edges)
219+
else
220+
back_submeta = nothing
221+
end
214222
with_state(g, set_edge_metadata!, part, part_submeta, back_submeta)
215223
end
216224
end
217225
function set_edge_metadata!(g::DGraphState, part::Integer, part_submeta, back_submeta)
218226
check_not_frozen(g)
219-
g.parts_e_meta[part] = Dagger.tochunk(part_submeta)
220-
g.bg_adjs_e_meta[part] = Dagger.tochunk(back_submeta)
227+
if part_submeta !== nothing
228+
g.parts_e_meta[part] = Dagger.tochunk(part_submeta)
229+
end
230+
if back_submeta !== nothing
231+
g.bg_adjs_e_meta[part] = Dagger.tochunk(back_submeta)
232+
end
221233
return
222234
end
223235
partition_vertex_metadata(meta, part_nv) = error("Must define `partition_vertex_metadata` for `$(typeof(meta))`")
@@ -236,19 +248,16 @@ end
236248
get_partition_vertex_metadata(g::DGraph, part::Integer) =
237249
fetch(with_state(g, get_partition_vertex_metadata, part))
238250
function get_partition_vertex_metadata(g::DGraphState, part::Integer)
239-
check_not_frozen(g)
240251
return g.parts_v_meta[part]
241252
end
242253
get_partition_edge_metadata(g::DGraph, part::Integer) =
243254
fetch(with_state(g, get_partition_edge_metadata, part))
244255
function get_partition_edge_metadata(g::DGraphState, part::Integer)
245-
check_not_frozen(g)
246256
return g.parts_e_meta[part]
247257
end
248258
get_background_edge_metadata(g::DGraph, part::Integer) =
249259
fetch(with_state(g, get_background_edge_metadata, part))
250260
function get_background_edge_metadata(g::DGraphState, part::Integer)
251-
check_not_frozen(g)
252261
return g.bg_adjs_e_meta[part]
253262
end
254263
copymeta(x) = x

0 commit comments

Comments
 (0)