mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-10-08 20:07:51 +00:00
FB-1471: featurebase: added relevant details to error for value out of range (#2092)
* added relevant details to error
This commit is contained in:
parent
a2f910ce35
commit
64a532b416
2 changed files with 7 additions and 6 deletions
8
field.go
8
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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue