From 3e9d428e641a37a32da587cf2171817c9089e5ae Mon Sep 17 00:00:00 2001 From: Nikolay Petrov Date: Mon, 20 Apr 2026 21:10:26 -0400 Subject: [PATCH] unified compaction --- compact.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 compact.go diff --git a/compact.go b/compact.go new file mode 100644 index 0000000..d566af6 --- /dev/null +++ b/compact.go @@ -0,0 +1,18 @@ +package klevdb + +import ( + "context" + "time" +) + +func Compact(ctx context.Context, l Log, age time.Duration, boff DeleteMultiBackoff) error { + updatesBefore := time.Now().Add(-age) + if _, _, err := CompactUpdatesMulti(ctx, l, updatesBefore, boff); err != nil { + return err + } + deletesBefore := time.Now().Add(-age * 2) + if _, _, err := CompactDeletesMulti(ctx, l, deletesBefore, boff); err != nil { + return err + } + return l.GC(0) +}