From 198a2910f28c4524441f0432166d7d0cd27335ee Mon Sep 17 00:00:00 2001 From: Travis Turner Date: Fri, 25 Jan 2019 14:51:00 -0600 Subject: [PATCH] set cache size to 0 if cache type is none --- field.go | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/field.go b/field.go index 669700574..38ba8ee76 100644 --- a/field.go +++ b/field.go @@ -476,13 +476,21 @@ func (f *Field) saveMeta() error { // applyOptions configures the field based on opt. func (f *Field) applyOptions(opt FieldOptions) error { switch opt.Type { - case FieldTypeSet, "": - f.options.Type = FieldTypeSet + case FieldTypeSet, FieldTypeMutex, "": + fldType := opt.Type + if fldType == "" { + fldType = FieldTypeSet + } + f.options.Type = fldType if opt.CacheType != "" { f.options.CacheType = opt.CacheType } if opt.CacheSize != 0 { - f.options.CacheSize = opt.CacheSize + if opt.CacheType == CacheTypeNone { + f.options.CacheSize = 0 + } else { + f.options.CacheSize = opt.CacheSize + } } f.options.Min = 0 f.options.Max = 0 @@ -524,18 +532,6 @@ func (f *Field) applyOptions(opt FieldOptions) error { f.Close() return errors.Wrap(err, "setting time quantum") } - case FieldTypeMutex: - f.options.Type = FieldTypeMutex - if opt.CacheType != "" { - f.options.CacheType = opt.CacheType - } - if opt.CacheSize != 0 { - f.options.CacheSize = opt.CacheSize - } - f.options.Min = 0 - f.options.Max = 0 - f.options.TimeQuantum = "" - f.options.Keys = opt.Keys case FieldTypeBool: f.options.Type = FieldTypeBool f.options.CacheType = CacheTypeNone