MCPcopy Create free account
hub / github.com/couchbase/cbft / initMetaFieldValCache

Function initMetaFieldValCache

pindex_bleve.go:868–905  ·  view source on GitHub ↗
(indexName, sourceName string,
	im *mapping.IndexMappingImpl)

Source from the content-addressed store, hash-verified

866}
867
868func 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
907func OpenBlevePIndexImpl(indexType, path string,
908 restart func()) (cbgt.PIndexImpl, cbgt.Dest, error) {

Callers 3

parseIndexParamsFunction · 0.85
OpenBlevePIndexImplUsingFunction · 0.85
refreshMetaFieldValCacheFunction · 0.85

Calls 5

multiCollectionFunction · 0.85
encodeCollMetaFieldValueFunction · 0.85
setValueMethod · 0.80
resetMethod · 0.45

Tested by

no test coverage detected