code: func (f *Field) SetValue(columnID uint64, value int64) (changed bool, err error) {
  	// Fetch bsiGroup and validate value.
  	bsig := f.bsiGroup(f.name)
  	if bsig == nil {
  		return false, ErrBSIGroupNotFound
  	} else if value < bsig.Min {
  		return false, ErrBSIGroupValueTooLow
  	} else if value > bsig.Max {
  		return false, ErrBSIGroupValueTooHigh
  	}
  
  	// Fetch target view.
  	view, err := f.createViewIfNotExists(viewBSIGroupPrefix + f.name)
  	if err != nil {
  		return false, errors.Wrap(err, "creating view")
  	}
  
  	// Determine base value to store.
  	baseValue := uint64(value - bsig.Min)
  
  	return view.setValue(columnID, bsig.BitDepth(), baseValue)
  }
docs: // SetValue sets a field value for a column.