MCPcopy
hub / github.com/dgraph-io/dgraph / getPredicates

Method getPredicates

dgraph/cmd/bulk/schema.go:159–183  ·  view source on GitHub ↗
(db *badger.DB)

Source from the content-addressed store, hash-verified

157}
158
159func (s *schemaStore) getPredicates(db *badger.DB) []string {
160 txn := db.NewTransactionAt(math.MaxUint64, false)
161 defer txn.Discard()
162
163 opts := badger.DefaultIteratorOptions
164 opts.PrefetchValues = false
165 itr := txn.NewIterator(opts)
166 defer itr.Close()
167
168 m := make(map[string]struct{})
169 for itr.Rewind(); itr.Valid(); {
170 item := itr.Item()
171 pk, err := x.Parse(item.Key())
172 x.Check(err)
173 m[pk.Attr] = struct{}{}
174 itr.Seek(pk.SkipPredicate())
175 continue
176 }
177
178 var preds []string
179 for pred := range m {
180 preds = append(preds, pred)
181 }
182 return preds
183}
184
185func (s *schemaStore) write(db *badger.DB, preds []string) {
186 w := posting.NewTxnWriter(db)

Callers 1

writeSchemaMethod · 0.80

Calls 9

ParseFunction · 0.92
CheckFunction · 0.92
NewIteratorMethod · 0.80
ValidMethod · 0.80
ItemMethod · 0.80
SeekMethod · 0.80
SkipPredicateMethod · 0.80
CloseMethod · 0.65
KeyMethod · 0.45

Tested by

no test coverage detected