diff --git a/field.go b/field.go index a14ad697c..90e03640e 100644 --- a/field.go +++ b/field.go @@ -1403,9 +1403,9 @@ func (f *Field) SetValue(tx Tx, columnID uint64, value int64) (changed bool, err if bsig == nil { return false, ErrBSIGroupNotFound } else if value < bsig.Min { - return false, ErrBSIGroupValueTooLow + return false, errors.Wrapf(ErrBSIGroupValueTooLow, "index = %v, field = %v, column ID = %v, value %v is smaller than min allowed %v", f.index, f.name, columnID, value, bsig.Min) } else if value > bsig.Max { - return false, ErrBSIGroupValueTooHigh + return false, errors.Wrapf(ErrBSIGroupValueTooHigh, "index = %v, field = %v, column ID = %v, value %v is larger than max allowed %v", f.index, f.name, columnID, value, bsig.Max) } // Determine base value to store. @@ -1772,9 +1772,9 @@ func (f *Field) importValue(qcx *Qcx, columnIDs []uint64, values []int64, shard for i := range columnIDs { columnID, value := columnIDs[i], values[i] if value > bsig.Max { - return errors.Wrap(ErrBSIGroupValueTooHigh, fmt.Sprintf("value = %v, columnID = %v", value, columnID)) + return errors.Wrapf(ErrBSIGroupValueTooHigh, "index = %v, field = %v, column ID = %v, value %v is larger than max allowed %v", f.index, f.name, columnID, value, bsig.Max) } else if value < bsig.Min { - return errors.Wrap(ErrBSIGroupValueTooLow, fmt.Sprintf("value = %v, columnID = %v", value, columnID)) + return errors.Wrapf(ErrBSIGroupValueTooLow, "index = %v, field = %v, column ID = %v, value %v is smaller than min allowed %v", f.index, f.name, columnID, value, bsig.Min) } if value > max { max = value diff --git a/field_test.go b/field_test.go index 8b35d6744..635ab7e7c 100644 --- a/field_test.go +++ b/field_test.go @@ -14,6 +14,7 @@ import ( "github.com/molecula/featurebase/v3/roaring" "github.com/molecula/featurebase/v3/test" "github.com/molecula/featurebase/v3/testhook" + "github.com/pkg/errors" ) // Ensure a field can set & read a bsiGroup value. @@ -117,7 +118,7 @@ func TestField_SetValue(t *testing.T) { var tx pilosa.Tx // Set value. - if _, err := f.SetValue(tx, 100, 15); err != pilosa.ErrBSIGroupValueTooLow { + if _, err := f.SetValue(tx, 100, 15); !errors.Is(err, pilosa.ErrBSIGroupValueTooLow) { t.Fatalf("unexpected error: %s", err) } }) @@ -134,7 +135,7 @@ func TestField_SetValue(t *testing.T) { var tx pilosa.Tx // Set value. - if _, err := f.SetValue(tx, 100, 31); err != pilosa.ErrBSIGroupValueTooHigh { + if _, err := f.SetValue(tx, 100, 31); !errors.Is(err, pilosa.ErrBSIGroupValueTooHigh) { t.Fatalf("unexpected error: %s", err) } })