╭──────────╮ │← previous│ ╰──────────╯ ╭ changed ───────────────╮ │src/event/Discussion.zig│ ╰────────────────────────╯ ╭─────────────────────────────────────────╮ │13 removed: bool = false, │ │14 author_email: ?[]const u8 = null,│ │15 created_order: u64 = 0, │ │16 + updated_order: u64 = 0, │ │17 }; │ │18 │ │19 const Self = @This(); │ ╰─────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │59 existing_record_maybe = try evt.read(Record, DB, hash_kind, arena, try DB.HashMap(.read_only).init(existing_cursor)); │ │60 } │ │61 │ │61 - var record_to_write = if (record_maybe) |record| │ │62 - record │ │63 - else blk: { │ │64 - var record = existing_record_maybe orelse return error.EventNotFound; │ │65 - record.removed = true; │ │66 - break :blk record; │ │67 - }; │ │62 + var record_to_write = record_maybe orelse try evt.removedRecord(Record, DB, hash_kind, haxy_moment.readOnly(), existing_record_maybe);│ │63 │ │64 if (existing_record_maybe) |existing| { │ │65 record_to_write.created_order = existing.created_order; │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │80 │ │81 const record = try DB.HashMap(.read_write).init(try records.putCursor(discussion_key)); │ │82 try evt.upsert(Record, DB, hash_kind, record, record_to_write); │ │88 - try evt.indexEvent(DB, hash_kind, haxy_moment, event_id, .discuss, record_to_write.created_order, record_to_write.removed);│ │83 + try evt.indexEvent(DB, hash_kind, haxy_moment, event_id, .discuss, existing_record_maybe, record_to_write); │ │84 │ │85 const order_key = evt.orderKeyDesc(activity_order, event_id); │ │86 if (existing_cursor_maybe == null) { │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ─────────╮ │src/event/Fork.zig│ ╰──────────────────╯ ╭───────────────────────────────╮ │12 event: Self, │ │13 removed: bool = false, │ │14 created_order: u64 = 0,│ │15 + updated_order: u64 = 0,│ │16 }; │ │17 │ │18 const Self = @This(); │ ╰───────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │61 existing_maybe = try evt.read(Record, DB, hash_kind, arena, try DB.HashMap(.read_only).init(cursor)); │ │62 } │ │63 │ │63 - var record = if (record_maybe) |value| │ │64 - value │ │65 - else blk: { │ │66 - var existing = existing_maybe orelse return error.EventNotFound; │ │67 - existing.removed = true; │ │68 - break :blk existing; │ │69 - }; │ │64 + var record = record_maybe orelse try evt.removedRecord(Record, DB, hash_kind, haxy_moment.readOnly(), existing_maybe);│ │65 │ │66 if (!record.removed) try validate(record); │ │67 │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │82 │ │83 const fork_cursor = try records.putCursor(fork_key); │ │84 try evt.upsert(Record, DB, hash_kind, try DB.HashMap(.read_write).init(fork_cursor), record); │ │90 - try evt.indexEvent(DB, hash_kind, haxy_moment, event_id, .fork, record.created_order, record.removed);│ │85 + try evt.indexEvent(DB, hash_kind, haxy_moment, event_id, .fork, existing_maybe, record); │ │86 │ │87 const order_key = evt.orderKeyDesc(record.created_order, event_id); │ │88 if (existing_cursor_maybe == null) { │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ──────────╮ │src/event/Issue.zig│ ╰───────────────────╯ ╭─────────────────────────────────────────╮ │16 removed: bool = false, │ │17 author_email: ?[]const u8 = null,│ │18 created_order: u64 = 0, │ │19 + updated_order: u64 = 0, │ │20 }; │ │21 │ │22 const Self = @This(); │ ╰─────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │103 existing_record_maybe = try evt.read(Record, DB, hash_kind, arena, existing_issue); │ │104 } │ │105 │ │105 - var record_to_write = if (record_maybe) |record| │ │106 - record │ │107 - else blk: { │ │108 - var record = existing_record_maybe orelse return error.EventNotFound; │ │109 - record.removed = true; │ │110 - break :blk record; │ │111 - }; │ │106 + var record_to_write = record_maybe orelse try evt.removedRecord(Record, DB, hash_kind, haxy_moment.readOnly(), existing_record_maybe);│ │107 │ │108 if (existing_record_maybe) |existing_record| { │ │109 // updates preserve the original creation order and author │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │128 const issue_cursor = try event_id_to_issue.putCursor(issue_key); │ │129 const issue = try DB.HashMap(.read_write).init(issue_cursor); │ │130 try evt.upsert(Record, DB, hash_kind, issue, record_to_write); │ │136 - try evt.indexEvent(DB, hash_kind, haxy_moment, event_id, .issue, record_to_write.created_order, record_to_write.removed);│ │131 + try evt.indexEvent(DB, hash_kind, haxy_moment, event_id, .issue, existing_record_maybe, record_to_write); │ │132 │ │133 const order_key = evt.orderKeyDesc(record_to_write.created_order, event_id); │ │134 │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ──────────╮ │src/event/Patch.zig│ ╰───────────────────╯ ╭─────────────────────────────────────────╮ │43 removed: bool = false, │ │44 author_email: ?[]const u8 = null,│ │45 created_order: u64 = 0, │ │46 + updated_order: u64 = 0, │ │47 }; │ │48 │ │49 const Self = @This(); │ ╰─────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯