(indexName, sourceName string, im *mapping.IndexMappingImpl)
| 866 | } |
| 867 | |
| 868 | func initMetaFieldValCache(indexName, sourceName string, |
| 869 | im *mapping.IndexMappingImpl) map[uint32]*collMetaField { |
| 870 | if im == nil { |
| 871 | return nil |
| 872 | } |
| 873 | scope, err := validateScopeCollFromMappings(sourceName, im, false) |
| 874 | if err != nil { |
| 875 | return nil |
| 876 | } |
| 877 | rv := make(map[uint32]*collMetaField, 1) |
| 878 | // clean up any old data |
| 879 | metaFieldValCache.reset(indexName) |
| 880 | |
| 881 | multiCollIndex := multiCollection(scope.Collections) |
| 882 | for _, coll := range scope.Collections { |
| 883 | cuid, err := strconv.ParseInt(coll.Uid, 16, 32) |
| 884 | if err != nil { |
| 885 | return nil |
| 886 | } |
| 887 | suid, err := strconv.ParseInt(scope.Uid, 16, 32) |
| 888 | if err != nil { |
| 889 | return nil |
| 890 | } |
| 891 | if cmf, ok := rv[uint32(cuid)]; !ok { |
| 892 | rv[uint32(cuid)] = &collMetaField{ |
| 893 | scopeDotColl: scope.Name + "." + coll.Name, |
| 894 | typeMappings: []string{coll.typeMapping}, |
| 895 | value: encodeCollMetaFieldValue(suid, cuid), |
| 896 | } |
| 897 | } else { |
| 898 | cmf.typeMappings = append(cmf.typeMappings, coll.typeMapping) |
| 899 | } |
| 900 | |
| 901 | metaFieldValCache.setValue(indexName, scope.Name, suid, |
| 902 | coll.Name, cuid, multiCollIndex) |
| 903 | } |
| 904 | return rv |
| 905 | } |
| 906 | |
| 907 | func OpenBlevePIndexImpl(indexType, path string, |
| 908 | restart func()) (cbgt.PIndexImpl, cbgt.Dest, error) { |
no test coverage detected