From f6b0a0c969140de0b62856d9e1966339ddc42186 Mon Sep 17 00:00:00 2001 From: Alex Sharov Date: Sun, 7 Nov 2021 09:54:48 +0700 Subject: [PATCH] Recsplit: collision typed error (#150) --- recsplit/recsplit.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recsplit/recsplit.go b/recsplit/recsplit.go index b636619bdb3..4b220c7504d 100644 --- a/recsplit/recsplit.go +++ b/recsplit/recsplit.go @@ -30,6 +30,8 @@ import ( "github.com/spaolacci/murmur3" ) +var ErrCollision = fmt.Errorf("duplicate key") + const RecSplitLogPrefix = "recsplit" const MaxLeafSize = 24 @@ -298,7 +300,7 @@ func (rs *RecSplit) recsplitCurrentBucket() error { for i, key := range rs.currentBucket[1:] { if key == rs.currentBucket[i] { rs.collision = true - return fmt.Errorf("duplicate key %x", key) + return fmt.Errorf("%w: %x", ErrCollision, key) } } bitPos := rs.gr.bitCount