summaryrefslogtreecommitdiff
path: root/data.c
diff options
context:
space:
mode:
authordefault <nobody@localhost>2022-11-26 05:29:09 +0100
committerdefault <nobody@localhost>2022-11-26 05:29:09 +0100
commit405bf6b8e4241252ed7bde917a21e0c57d4bab70 (patch)
tree5a43fa06aae5a8c0e5ab6ccc91d46023cd14efc7 /data.c
parent1243e26a0d883b0aa3f368e11b37591fe0fef1bf (diff)
Maintain a one-element index with each entry's parent.
Diffstat (limited to 'data.c')
-rw-r--r--data.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/data.c b/data.c
index bf8a273..41644f6 100644
--- a/data.c
+++ b/data.c
@@ -454,12 +454,16 @@ int _object_add(const char *id, d_char *obj, int ow)
if (!xs_is_null(in_reply_to) && *in_reply_to) {
/* update the children index of the parent */
- xs *pfn = _object_fn(in_reply_to);
+ xs *c_idx = _object_fn(in_reply_to);
- pfn = xs_replace_i(pfn, ".json", "_c.idx");
- index_add(pfn, id);
+ c_idx = xs_replace_i(c_idx, ".json", "_c.idx");
+ index_add(c_idx, id);
- srv_debug(0, xs_fmt("object_add added child %s to %s", id, pfn));
+ srv_debug(0, xs_fmt("object_add added child %s to %s", id, c_idx));
+
+ /* create a one-element index with the parent */
+ xs *p_idx = xs_replace(fn, ".json", "_p.idx");
+ index_add(p_idx, in_reply_to);
}
}
else