Lowercase index key and lookup value if flag is set

This commit is contained in:
William Tisäter 2014-07-23 10:30:12 +02:00
parent 0d71b97f8e
commit 9359f899f5
1 changed files with 7 additions and 0 deletions

View File

@ -427,6 +427,10 @@ func (t *MDBTable) getIndex(index string, parts []string) (*MDBIndex, []byte, er
return nil, nil, tooManyFields return nil, nil, tooManyFields
} }
if idx.CaseInsensitive {
parts = ToLowerList(parts)
}
// Construct the key // Construct the key
key := idx.keyFromParts(parts...) key := idx.keyFromParts(parts...)
return idx, key, nil return idx, key, nil
@ -614,6 +618,9 @@ func (i *MDBIndex) keyFromObject(obj interface{}) ([]byte, error) {
if !i.AllowBlank && val == "" { if !i.AllowBlank && val == "" {
return nil, fmt.Errorf("Field '%s' must be set: %#v", field, obj) return nil, fmt.Errorf("Field '%s' must be set: %#v", field, obj)
} }
if i.CaseInsensitive {
val = strings.ToLower(val)
}
parts = append(parts, val) parts = append(parts, val)
} }
key := i.keyFromParts(parts...) key := i.keyFromParts(parts...)